[PLUGIN] Voronoi + Conic Curve
-
sorry for the late reply, itΒ΄s a new file, no other geometry in it. if i open the ruby console i get this:
Error: #<NoMethodError: undefined method
vector_to' for nil:NilClass> C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/VoronoiXY.rb:258:in
voropoints'
C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/VoronoiXY.rb:231:ineach' C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/VoronoiXY.rb:231:in
voropoints'
C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/VoronoiXY.rb:128:invoronoi' C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/VoronoiXY.rb:105:in
each'
C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/VoronoiXY.rb:105:invoronoi' C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/VoronoiXY.rb:36:in
initialize'
C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/VoronoiXY.rb:384:innew' C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/VoronoiXY.rb:384 C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/VoronoiXY.rb:132:in
call'
C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/VoronoiXY.rb:132i hope you know what it is matt i would love to do something cool with your plugin.
if i donΒ΄t open it i get this:
-
@mattc said:
@unknownuser said:
Few comments :
1/ Could it be possible to undo the voronoi generation in one go ?(ctrl Z is going back through all the steps of the generation)@mattc said:
- added to the wish list - see some posts above
Thanks !
If I may add one wish : The tab options for the conics should remember the last options chosen.@unknownuser said:
2/ It does not generate the voronoi all the time. Sometimes nothing happens. Any idea ?
@mattc said:
- if You can post Your .skp file then I can take a look at it.
Here it is.
By the way I'm using pjt's plugin. Thanks for looking at this!
Sl!m
-
Hi Matt ... please post the toolbar (my work )to the first post ... copyrhight ? !! feel free .. it's our plugin .. not my" plugin . and I also posted PSD icons for you ..
ICON folder path ? .. I'm surry for this bug .... but I myself tested it on my 2 computers with windows 7 and 8 (SU8) .. and It was fine for me .. ... but if there is a problem please repair it and use my works in future versions ...
good luck -
Hi,
I will do it as soon as I correct bug that nectares reported.
Also I already adressed some things from a wishlist.
So stay tune.
Also , evereyone that is using pjt's wrapped wersion with toolbar, please report if You can see icons, I don't know if it is only me that have this problem ??
I don't want to fix things that are ok.In general Stat tuned. Version 1.1 is coming.
Matt -
@unknownuser said:
However, some regions will not work for some strange reason
Same thing for me.
Also Tab key does not open dialog box (Macbook pro), for me.
-
On a MAC the TAB a onKeyDown method doesn't work [known bug!] - you need to use a onKeyUp method to spot the press of the TAB-key for MAC AND PC.
Also note that TAB key-mapping will differ between PC and MAC -if key==9 || key==15...
DON'T use key 48 as that is only TAB on some Linux setups [I think] and causes issues with mainstream users [== 0 ?] - an error is some of my older code that should be fixed in MY scriptsThe regional differences might be caused because there's a ',' as a decimal separator rather than a '.' ?
If dialog values are taken as 'float' or 'length' then this should be accounted for automatically by Sketchup ?Use
inputbox
rather thanUI.inputbox
as it checks user inputs better...
[include arequire 'sketchup.rb'
in the first line of the script to ensure it's available to you]
Don't use@@dek.to_mm
you've already predefined it as a 'length' as@@dek=25.mm
- later you mess with it again.to_f.mm
- because you first set it as a length then the user's current units will be used instead anyway - there's no need to restrict it to 'mm' at all - just use 'Offset:' as the prompt... similarly the other inputbox values can only be what you set them as so if it starts as a float the user's input must be a valid float so typing 3 returns 3.0 anyway... -
-
It's possible to have two 'lines' that don't intersect and produce 'nil' as the result, so the code needs to trap for the existence of the point and only proceed with it if it's not nil...
That should be a relatively simple 'trap' to construct... -
True TIG
I already implemented this trap, but also encountered another case that is a bit problematic.
It is geometry limitation of Sketchup.I will update script when this will be solved, in a meantime if anyone also has non-working combination of points, post it here.
I will have more material to analyse.Matt
-
Putting the code inside a
begin...do_point...rescue...end
structure will allow the code to fail on the point without a crash ?
But a simpleintersect_lines...if point...do_stuff...else...next_point...end
would suffice here...
Something like:
if **int &&** (test[0]==0)&&(test[1]==0)&&(test[2]==0) intprim=int+int.vector_to(pointstable[bpntindx])+int.vector_to(pointstable[bpntindx]) points<<intprim.project_to_line([midlines[0][0],midlines[0][1]]) points<<intprim points<<intprim.project_to_line([midlines[1][0],midlines[1][1]]) els**if int** points<<int end
and
if **int &&** point_is_between(p1,p2,int)&&point_is_between(polygon[i],polygon[j],int) point<<int end
AND any other place whereint
is set as an 'intersection' that might fail - test for its existence before trying to use it.
Only usesint
if it's not 'nil
'. -
Yup, second way is exactly how I changed it.
My fault was testing it on set of random points, and combination of 3 colinear points didn't occure.
Matt -
Hi there,
I found this Voronoi so cool... couldn't resist posting this.
Interacting with the mouse moving over the points.Is that code any useful to ruby Heros ?
http://mbostock.github.com/d3/ex/voronoi.html
Have a great day/night!
Sl!m -
Hi Matt
Great plugin mate... lots of potential here
But I have a little problem: you say that for this to run properly this plugin requires "delauney3.rb"
I don't have it... I only have "delaunay2.rb".
I get the Typical plugin error..."Error loading file VoronoiXY.rb no such file to load -- delauney3.rb"But I can't find the robust version that TIG is refering to here: http://forums.sketchucation.com/viewtopic.php?t=8314
I did got the "conic curve" plugin to work and it's awesome.
Also tried to use "qhull.rb" but it's a mess! I just get flashing DOS-screen ans crashes.... It's a shame, since it would also be a super-tool...
Have you heard of any progress on that???
http://forums.sketchucation.com/viewtopic.php?t=19040
http://forums.sketchucation.com/viewtopic.php?t=8116I'd really appreciate your help so i can start using this baby!
Thanks! -
My 'modularized' version of 'delauney' [
delauney3.rb
] ships as part of my 'Triangulate Points' tool - which is very much like Didier's original... BUT avoids potential clashes with common loose method names like 'triangulate' !
http://forums.sketchucation.com/viewtopic.php?p=301274#p301274
It doesn't replace the original, it just makes a 'safer' alternative for any tool that is using it instead... -
@juanjo said:
But I have a little problem: you say that for this to run properly this plugin requires "delauney3.rb"
I don't have it... I only have "delaunay2.rb".
Also tried to use "qhull.rb" but it's a mess! I just get flashing DOS-screen ans crashes.... It's a shame, since it would also be a super-tool...
Have you heard of any progress on that???Hi juanjo, if You download a zip package made by pjt, and not separate files from first post, then You will have "delauney3.rb" as a part of it.
I couldn't get "qhull.rb" to work, and that was one of the reasons why I started to work on this project.
But I have some problems with the code. Some cases generates strange forms. So the work continues.
GreetsMatt
-
@mattc said:
Pilou You 're teasing me
Is it Sketchup ??
Or something else?
Well only step that I miss from those, is generation of 3D Voronoi
For rest I have plugins already.@ Joel, indeed there WAS a problem - file in first message is updated.
MattWould it be too much to ask for 3D Voronoi?
I would be in...even if not for free... -
Well... I think 2D voronoi package (delauney triangulation by TIG + Voronoi on XY plane + Conic Curve + Convex hull on XY plane) is almost ready.
Next step will be: (delauney triangulation in 3D + Voronoi 3D + Conic Curve + Convex hull 3D).
But it is a lot more complicated.
So it is a bit to early to decide free / paid - but I think donationware ( if You like it - gratify creator) is the way to go.
Cheers
Matt -
hello Matt, did you got the Icons ? ... or a more important question: is this plugin still alive ?
-
Hi
Yes I got it, Thanks a lot, I am a bit busy at my normal work, but plugin is still alive.
I will try to get updated version online this weekend, but I was already focused on Voronoi2D version 2.0
Cheers
Matt -
@ mitcorb - example : If You have polygon with 4 vertices, You can create 4 sets of points ([0,1,2],[1,2,3],[2,3,0],[3,0,1]).
You can use those sets of points to create rational bezier spline(http://en.wikipedia.org/wiki/B%C3%A9zier_curve#Rational_B.C3.A9zier_curves) by asigning weight to every point.
Special case is when You set for first and third point weight = 1 , and weight "w" for second point.- when w>1 then created curve is a hyperbole
- when w=1 then created curve is a parabole
- when w<1 then created curve is an ellipse (in special case circle)
Hyperbole, parabole ellipse and circle are known as a conic curves or conic sections , because You can create them by cutting cone with a plane.
For further read : http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/NURBS/RB-conics.html
http://en.wikipedia.org/wiki/Conic_section
If You draw square, and apply coniccurve with weight w = sqrt(2)/2 = 0,7071, You will get a circle.
@ Pilou - This is an implementation of 3DVoronoi - this is my next step, but at this moment I struggle a bit with a code...
Matt
Advertisement