sound reasonable - thanks for explaining! is this part of your script already? or should I dive into it?
Posts made by a4chitect
-
RE: Joint Push Pull Classic (Old version) - v2.2a - 26 Apr 17
-
RE: Joint Push Pull Classic (Old version) - v2.2a - 26 Apr 17
fredo!!!!! you rule!
please allow a question
I know it's pretty intensive on the algorithm
-
RE: [Plugin] Vertex welding tool v1.2
please redownload, 1.02 works inside groups
kwistenbiebel: I have added an example, the idea was to let the script weld those impossible-to-zoom-to but not identical two points -
[Plugin] Vertex welding tool v1.2
FUNCTIONALITY: it welds vertices (moves them to one spot and tries to weld colinear edges) selected by a 'fence' (thx to whaat for lot of lines of code)
USAGE NOTE: select all geometry you want to weld prior to launching the script, then choose the vertices to weld by drawing a virtual 'fence'
NOTE 4 RUBY CODERS: script is pretty dirty but the main part is useful for selecting vertices in view - feel free to use it
licence: your only duty is to share any improvements and/or upgrades of this code under this same condition
thanks to Juan V Soler for inspiration to make this
History
12.04.2008 v1.2
*now it lets you specify your welding spot by cycling through all possible positionsPlugins/Vertex Weld (From Selection) -> Weld with Feedback
specify weld region with your mouse
[i]then*
cycling LEFT / RIGHT ARROW
confirm ENTER[/i]
-
RE: In Development: Subdivide and Smooth
thanks wikii, nice script you've put together so quickly! here is a resulting surface for illustration. and your script with a plugins menu entry added to just place in the plugins folder
-
RE: In Development: Subdivide and Smooth
brilliant whaat - exactly as expected - the surface is much more natural, as for the accuracy - I guess the the vertex-averaged surface could meet the controur lines by simply moving it along the Z axis a bit, and even if they can't touch everywhere - the result is better for its smoothness, you can't take the contours for benchmarking since their accuracy is fairly limited too
maybe performing a test could prove my point>
-
create a curved surface with the Smoove tool
-
generate contours either by the dedicated script, or by intersecting with equidistant planes
-
group contour lines and create a surface by using the sandbox tools
-
paint this surface a different color from the original
-
make a copy (change the color) of this new surface and apply your script
-
compare original surface with both new surfaces
whaat thanks for making sketchup better, can't wait for you to release.
-
-
RE: Cut and Paste-in-place from within Component Instances
Another way is to make 2 of them unique, so that you get 2 new components, then edit these new the way you have to, then use a component definition transfer ruby (applyto.rb) to sample first new comp. apply it to all the instances you want and do the same with the 2nd new comp..
Once u download the ruby script, it is Right click on a comp. >component definitions>get def. / apply def.
http://www.smustard.com/script/ApplyTo
btw: thanks rick for this invaluable script
this suggestion by jim:
@unknownuser said:Selecting and replacing Component Instances can be done by right-clicking in the Component Browser
does essentially the same, but the script by rick allows for direct clicking on components in the scene, and not having to look for the right component in the component browser -
RE: Is texture pixel color accessible from within ruby?
Thanks 4 your replies guys, your tips are very useful, my problem is in not mentioning the purpose...
the purpose was to have bitmap-analysis capabilities in sketchup, like displacement mapping and such. that would require to assign values to a grid by the specific color of the underlying texture. the possible workflow involves like rick suggested - using a 3rd party software to analyse the image and possibly convert it to an array (grid) of values (with customizable resolution). the method suggested by gaieus is interesting but not applicable since a subdivided texture maintains the same material 'parent' and therefore the bitmap approximation stays the same for each region, if i'm not mistaken.
i'll probably look into scripting imagemagick to convert images into a organized data - and writing an importer into SU. any suggestions?
-
RE: In Development: Subdivide and Smooth
whaat you rock! I can't wait for this release! you are one of those for whome the human cloning was meant in the first place its interesting that you mention mesh smoothing (without subdivision), does it mean we will be able to smooth contour generated surfaces so they will be more natural in shape? good luck with testing
-
Is texture pixel color accessible from within ruby?
is there a known implementation of sampling color from a specific pixel of a texture? (not the material or its ID but the specific RGB) or are there any possible workarounds that come to your mind? thanks
-
RE: Push/pull to work on 'unopen' groups
I wouldnt want to image the maths involved in offsetting something on a curved plane, offsetting a planar line/polyline is what I was trying to achieve... but since you mentioned offsetting a curve on a surface - that would mean offsetting a 3d curve - which could come very handy - for a lots of applications . If there is anything that could be done to help you with this development - let me know.
-
RE: Push/pull to work on 'unopen' groups
looking forward to a 'next' version - even if the current one is most complete and satisfying, I am wondering about your remark of an Offset script - I was trying to code a new class for offsetting lines in sketchup (mainly because the default offset produces curling lines once you try to offset some convex/concave geometry) - but I couldn't find any easy to adapt algorithm and have tried to experiment with estimated results based on vector combination with respective weighted average... to no good. could you point me in a better direction for creating line offset function (as seen in autocad) since you are the offset guru around here?
thanks
-
RE: Push/pull to work on 'unopen' groups
thanks fredo, I was too lazy to check that myself
btw: why did you decide to have JPP work only on selected faces and not the way original PP tool works - first activate the tool and then confirm the on-mouse-over face by clicking on it?
-
Push/pull to work on 'unopen' groups
what do you think, is it possible to enable to push/pull to work on 'unopen' groups ( not having to enter the edit mode for the group would speed up mass modeling considerably )
or is it possible to customize the Normal Push Pull from the fantastic Joint push/pull toolset?
-
RE: Voronoi, convex hull, geometry modification toolset
from the file you have attached, it is clear that the voronoi computation is all right, I have copied the following part
3 19 12 1 -10.101 -10.101 -10.101 69.50972188371688 213.9843863157402 423.5501981233883 ... ... ... 5 8 10 0 4 3 6 9 11 0 13 15 18
and pasted into an empty sketchup\plugins\qhull\qvoronoi.txt
then imported using a modified voronoi.rb (attached) which doesn't run the computation it only builds geometry from the qvoronoi.txtI am attaching the result as a .skp file
modified voronoi (replace your current but keep the original since this is for debugging)
-
RE: Voronoi, convex hull, geometry modification toolset
please try this:
windows - open command prompt and navigate to your sketchup\plugins\qhull
(windows vista: it is easier to open qhull folder in windows explorer, press and hold shift and right-click anywhere inside empty space in qhull, choose 'Open Command Window Here')paste the following code 'qhull.exe TI points.txt v Qbb Qj o Fv' (without quotes) and press enter
(paste works by clicking in the top left corner on the small black icon, choose edit>paste)let me know your results
thanks
-
RE: Voronoi, convex hull, geometry modification toolset
please try exporting points with or without the bounding box (depending on which way you went before - choose the other way this time) and try to run voronoi.
or
download the attached skp and follow the instructions to test.
(maybe the qhull can't compute the results for your specific points alignment)or
please attach your points in a skp for me to try
-
[Plugin] Voronoi - Convex Hull
see attached jpg for instructions
original topic with more images
thanks:
to the creators of the Qhull program (calculates voronoi, convex hull,...) http://www.qhull.org/
to this community and all people involved in sketchup/ruby/forums
licence: your only duty is to share any improvements and/or upgrades of this code under this same conditionnotes:
All file locations are inside your Sketchup\Plugins\Qhull directory
All plugins can be found in sketchup under toolbar menu Plugins\QhullPoints were created with the qhull\pointify plugin
-it converts all vertices of the selection into construction pointsto construct Voronoi (or convex Hull) select the points (you don't have to worry about
different geometry in the selection set, the plugin filters out points only)
-all points are selected, you have to write them to a file for the qhull engine to process them
this can be done by pressing qhull\export cpointsonce exported, you can start the Voronoi buildup by running
qhull\voronoi
-please note that this always takes your your most recently exported cpoints
-nothing has to be selected for the construction to startdebugging:
-one error can occur while exporting points, to check this process just delete points.txt file in the qhull directory and run the qhull\export cpoints plugin
then open the newly created points.txt file and if it is not blank, all went ok
-second possible problem is that the qhull engine is unable to process your geometry (out of mathematical reasons) just check if a results file gets generated in the
qhull directory: qvoronoi.txt (of course delete any previous qvoronoi.txt before)
-the third possibility is that the constructing script cannot process the results into geometry, this is the place to let me knowwhen you keep getting a previous result instead of the current one, try to delete the qhull\qvoronoi.txt file manually
PLUGIN SPECIFIC
Voronoi: -sometimes result is easier for qhull to compute when you export the bounding box along with the cpoints
-i couldn't get the engine to export lines reaching infinity, so you will not get these right now
Convex hull: -when you don't want to get a simple 'box', don't export the bounding box along with cpointswindows only
but is very easily portable for a mac - feel free to do so, you can find the mac version of qhull here: http://qhull.darwinports.com/
-
Does someone feel fit to adjust CGAL for usage out of ruby?
it would have been great having these processing algoritmhs available from within ruby scripts, does someone feel like preparing this workpath? is it possible?
The Computational Geometry Algorithms Library (CGAL), offers data structures and algorithms like triangulations (2D constrained triangulations and Delaunay triangulations in 2D and 3D), Voronoi diagrams (for 2D and 3D points, 2D additively weighted Voronoi diagrams, and segment Voronoi diagrams), Boolean operations on polygons and polyhedra, arrangements of curves and their applications (2D and 3D envelopes, Minkowski sums), mesh generation (2D Delaunay mesh generation and 3D surface mesh generation, skin surfaces), geometry processing (surface mesh simplification, subdivision and parameterization, as well as estimation of local differential properties, and approximation of ridges and umbilics), alpha shapes, convex hull algorithms (in 2D, 3D and dD), operations on polygons (straight skeleton and offset polygon), search structures (kd trees for nearest neighbor search, and range and segment trees), interpolation (natural neighbor interpolation and placement of streamlines), shape analysis, fitting, and distances (smallest enclosing sphere of points or spheres, smallest enclosing ellipsoid of points, principal component analysis), and kinetic data structures.