Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
Sketchup: Constructing Triangle with Ruby
Eps Ilon
1/28/2008 2:12:00 PM
Hello,
i'm constructing triangles with ruby and try to plot them within
Sketchup. In most cases, this works. But sometimes, an error occurs:
"Points are not planar", which is quite strange for a triangle...
model = Sketchup.active_model
entities = model.active_entities
k = 0
for i in 1..3 do
x = arr[k]
y = arr[k+1]
z = arr[k+2]
pts << Geom::Point3d.new([x,y,z])
k += 3
end
pts << pts.first()
begin
face = entities.add_face(pts)
rescue
puts $!.message
puts pts
end
arr is an array with the triangle coordinates (the coordinates come from
an external data source, but thats not the problem)
An example output for an error is
Points are not planar
(0,08255m, 0,003858m, 0,11049m)
(0,083007m, 0,004218m, 0,11049m)
(0,082855m, 0,004111m, 0,11049m)
(0,08255m, 0,003858m, 0,11049m)
The last and the first point are the same, but thats correct (a face is
constructed by a closed line).
o you have any ideas where I can find the error?
--
Posted via
http://www.ruby-...
.
3 Answers
G.Durga Prasad
1/30/2008 1:32:00 PM
0
On Jan 28, 2008 9:11 AM, Eps Ilon <alexander.graefe@web.de> wrote:
> Hello,
>
> i'm constructing triangles with ruby and try to plot them within
> Sketchup. In most cases, this works. But sometimes, an error occurs:
> "Points are not planar", which is quite strange for a triangle...
>
> model = Sketchup.active_model
> entities = model.active_entities
> k = 0
> for i in 1..3 do
> x = arr[k]
> y = arr[k+1]
> z = arr[k+2]
>
> pts << Geom::Point3d.new([x,y,z])
>
> k += 3
> end
>
> pts << pts.first()
>
> begin
> face = entities.add_face(pts)
> rescue
> puts $!.message
> puts pts
> end
>
> arr is an array with the triangle coordinates (the coordinates come from
> an external data source, but thats not the problem)
>
> An example output for an error is
>
> Points are not planar
> (0,08255m, 0,003858m, 0,11049m)
> (0,083007m, 0,004218m, 0,11049m)
> (0,082855m, 0,004111m, 0,11049m)
> (0,08255m, 0,003858m, 0,11049m)
>
> The last and the first point are the same, but thats correct (a face is
> constructed by a closed line).
>
> o you have any ideas where I can find the error?
> --
> Posted via
http://www.ruby-...
.
>
>
My wild guess:
The first and last points may differ as they are built out of floating
point numbers.
Try integers to represent the points, at least , the first and the last.
Prasad
Eps Ilon
1/31/2008 1:38:00 PM
0
G.Durga Prasad wrote:
> My wild guess:
> The first and last points may differ as they are built out of floating
> point numbers.
> Try integers to represent the points, at least , the first and the last.
>
> Prasad
Well... I don't think so. The first and last point are exakly the same,
bit by bit, as you can see here:
pts << pts.first() # adding last point
But thanks anyway....
--
Posted via
http://www.ruby-...
.
Todd Burch
9/3/2008 9:22:00 AM
0
Eps Ilon wrote:
> G.Durga Prasad wrote:
>
>> My wild guess:
>> The first and last points may differ as they are built out of floating
>> point numbers.
>> Try integers to represent the points, at least , the first and the last.
>>
>> Prasad
>
> Well... I don't think so. The first and last point are exakly the same,
> bit by bit, as you can see here:
>
> pts << pts.first() # adding last point
>
> But thanks anyway....
If you want a 3 sided shape, pass 3 points (AKA vertices) to
entities.add_face, not 4.
Todd
(Do I get the old post resurrection award today?)
--
Posted via
http://www.ruby-...
.
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
Sketchup: Constructing Triangle with Ruby
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password