I uploaded in sketchucation plugin store a new version that is working with SU2016 and SU2017.
Posts
-
RE: [Plugin][$] 3D Tree Maker - New version 1.10.14
-
RE: Error Drawing Lines
Better understand. Thanks slb for these explanation.
I Cant use scaling in this case as the points are the result of crossing lines, so at any scale the resulting point of two lines crossing can be very close to any other point in the model.
This gave me an idea for a very bad workaround. Do not like it, but it works. this way SU does not seem to try sharing same vertex...
pt1 = Geom::Point3d.new(0.98787,0.926013,0)
pt2 = Geom::Point3d.new(0.988135,0.925025,0)
pt3 = Geom::Point3d.new(0.977696,0.924673,0)
grp1 = Sketchup.active_model.entities.add_group
grp1.entities.add_line(pt3,pt2)
grp2 = Sketchup.active_model.entities.add_group
grp2.entities.add_line(pt2,pt1)
grp1.explode
grp2.explodeThks again
Pascal -
RE: Error Drawing Lines
Thanks Dan,
But then how could you explain the second example works fine ? -
RE: Error Drawing Lines
Hi sdmitch,
Sorry but do not think this is the reason cause :- pt1/pt2 distance is 0.0010229217956422459 inches, so equal or above 0.001 inches
- if it was the reason, the second code would not produce different result
- and last, in both codes, the 3 different points are correctly setup by SU, just the joining lines are incorrect
...
Still looking for a solution. I could add to my code to test minimum distance longer than 0.001 inches, but in this case this would not solve the issue.
Pascal
-
Error Drawing Lines
Dear all,
I'm facing an issue I can't understand.
These two codes should produce the same result.Here is the code that does not draw the correct lines :
(no line is drawn from pt2 to pt1 and this line is replaced by one joining pt3, pt1)pt1 = Geom::Point3d.new(0.98787,0.926013,0)
pt2 = Geom::Point3d.new(0.988135,0.925025,0)
pt3 = Geom::Point3d.new(0.977696,0.924673,0)
Sketchup.active_model.entities.add_line(pt3,pt2)
Sketchup.active_model.entities.add_line(pt2,pt1)And what I got when running it in the console
If I reverse the order lines are drawing, I got the correct result.
pt1 = Geom::Point3d.new(0.98787,0.926013,0)
pt2 = Geom::Point3d.new(0.988135,0.925025,0)
pt3 = Geom::Point3d.new(0.977696,0.924673,0)
Sketchup.active_model.entities.add_line(pt1,pt2)
Sketchup.active_model.entities.add_line(pt2,pt3)
I was thinking of something linked to the precision of SU but cant explain if its the limit why the one code produces the correct result and the other not.
Any idea appreciated.
Yours
Pascal -
RE: 3DArcStudios trees work, but not grass
Hi Larv,
Sorry for the late answer, did not see you question before.
Probably you alredy found the answer.
When you place grass, it is added to model in proxy mode (only skeleton lines).
You need to redraw your tree/plants to get them in full mode and they will be rendered.
You can switch back with one click to proxy mode once rendered, to keep your model not so big and not to slow while working on other parts of your model.
Yours
Pascal -
RE: Distance between two points / optimization
@unknownuser said:
Since I did not see the aim of this algorithm. I think it's a relevant question to pose
what are you going to do with these Points ?I'm working on a new way to create grass within Tree Maker (put a lot of plants on surfaces) that I would like to look more realistic with more or less dense zones. Now it works, but looking to improve and optimze it.
Really thanks to all of you for your very good ideas and feedbacks.
Now I have to implement this.Pascal
-
RE: Distance between two points / optimization
Thanks for your answer,
I will make more tests with this method.Regarding this point
@unknownuser said:
Regarding you code I'm not sure what you want to do with marking the Points with a boolean.
It might be faster to append results to a new Array rather then store a lot of small arrays . And maybe even use a Hash.The idea was NOT to compare all points, but as some are discarded, to be sure they are not compared in the loop with all others, to reduce the total number of comparisons.
If I copy "valid" points in another array, I will have to compare all points, even those already found as "too close".Thanks again
Pascal -
Distance between two points / optimization
Dear all,
I have an array of points.
I would like to remove those that are at a distance from another point less than a minimum spacing.The following code seems to do it, but I would like to know if you think there is a faster/more efficient way to proceed (the distance comparison of all points, not the drawing part).
Yours
Pascaldef test_distance pts = [] max = 5000 maxdist = 1000 mindist = 50 for i in 0..max pt = Geom;;Point3d.new(rand*maxdist,rand*maxdist,rand*maxdist) pts << [pt, true] end start_time = Time.now.to_f for i in 0..max if pts[i][1] == true for j in (i + 1)..max if pts[j][1] == true pt1 = pts[i][0] pt2 = pts[j][0] dist = pt1.distance pt2 if dist < mindist pts[j][1] = false end end end end end end_time = Time.now.to_f puts (end_time - start_time).to_s Sketchup.active_model.start_operation("test",true,false,false) for i in 0..max if pts[i][1] == true Sketchup.active_model.entities.add_cpoint(pts[i][0]) end end Sketchup.active_model.commit_operation end
-
RE: [Plugin][$] 3D Tree Maker - New version 1.10.14
"never let a bug, Oxer will point it"
Added to the todo list. -
RE: [Plugin][$] 3D Tree Maker - New version 1.10.14
@oxer said:
The the funny thing is that I haven't installed LightUp, for this reason I don't know why these components are created when you place a new tree, perhaps another plugin is the guilty.
EDIT: I have seen in Components Window >Edition the path for these Components --> C:/Program Files/SketchUp/SketchUp 2014/Tools/lightup/components/pointlight-v1.6.skp
I work on Mac and this path in OS X doesn't exist.Sketchup UFO mysteries
Maybe I left some unpurged components with some leaves components definitions. Need to load all one by one to test... -
RE: [Plugin][$] 3D Tree Maker - New version 1.10.14
@ijmccoy said:
it works if i start a new sketchup file. Its the same for all trees as well not just 1 type
Made some tests with vRay without pb. I dont know much about how vray is working. If the problem occurs only on existing SU file, there maybe an issue with cache. Found this option you could try : "Clear folder texture cache"
-
RE: [Plugin][$] 3D Tree Maker - New version 1.10.14
@pibuz said:
I tested the tool too, and I confirm that this fixed the error (rendering with Indigo Renderer). In sketchUp - like Oxer - I never had any texture issues, BTW.
Did you try the proposed method to render proxies with Indigo ? Let me know if it works, so I can see how to make it "scripted automaticaly" into the plugin.
pascal -
RE: [Plugin][$] 3D Tree Maker - New version 1.10.14
@oxer said:
Hi Pascal,
Another question, when I create a tree in a blank sketchup file, new components appear in the Componentes Window, see the image below:
[attachment=0:2zktr2wd]<!-- ia0 -->New Components.jpg<!-- ia0 -->[/attachment:2zktr2wd]
but when I use Fix Texture Leaves Tool those components disappear, is that correct?Hi oxer,
From what I can see I think all these components are created or loaded by LightUp for Sketchup.
I think it adds them to the model when a tree is drawn just bucause this plugin adds model or components or materials observers and add its own component when one of this list is changed.They disappears because in Tree Maker and I purge unused materials and unused components.
Yours
pascal -
RE: [Plugin][$] 3D Tree Maker - New version 1.10.14
@pibuz said:
Speaking of which, I have a little request for you: I work with Indigo Renderer, and it also supports a proxy system to substitute complex models with lighter ones. You only need to apply the suffix "_dummy" to the desired proxy which will be exported and rendered as the original component (eg. "tree" and corresponding proxy "tree_dummy").
So first thing I did was checking the components window and see what happens when I convert one of your trees to a proxy: I saw nothing happens.The thing I'd like to ask you is if it's possible for you to add an option to save the dummy proxy to the components list, and maybe name it automatically "name"_dummy so that Indigo Renderer can recognize and export the complex tree model without having to re-render it (and make the SU scene heavy).
As there is no standard method defined within Sketchup to manage proxies/ghosts, each plugin and render defined its own method. So the problem is they are not designed to interoperate
By the way this is maybe a good idea for a future Sketchup version to have a standard proxy/ghost management integrated. Maybe Chriss Fullmer is listening ?
In this particular case, from what you say, this could be the way to achieve it :
- Create a tree, displayed in full mode
- Add a second tree of the same type
- You will be asked by TreeMaker if you want to add copies of existing tree or create a new component : answer No to create a new component
You now have two trees that looks the same but each has its own component definition.
Take one of them, rename its definition name to “…_dummy”.
You can now convert it to proxy (right click, change to proxy), and let the other one with full draw.
Place some copies of the _dummy in the model
Hide the other one in order for it not being rendered.Test the render.
Let me know if it works. If yes I can see how to integrate this operation into the code to ease the process.
Yours
Pascal -
RE: [Plugin][$] 3D Tree Maker - New version 1.10.14
@ijmccoy said:
using vray for sketchup. if i put a single tree in a model on its own it renders with the leaves but in the model ive just added trees to, they all render without leaves
Hi,
Does this only appears with some trees ? in this case which one ? Could you post one example.
In any case there are two issues I know with many renders :- incorrect handling of colorized textures
- incorrect handling of UVs textures when material is applied to a parent group, not to the faces.
Here is an example :
I'm not sure if you are in this case, but if you used trees with PNG textures, due to the render error on UVs, leaves may disappear because of the transparency part of their texture is not correctly placed.
So I made a small script to fix it for trees.
Could you test it and let me know if it works in your case.
3darcstudiotools.rbz
install the extension
before rendering : use the menu 3DArcStudio>Tools>Fix Leaves textures...Yours
Pascal -
RE: [Plugin][$] 3D Tree Maker - New version 1.10.14
@ijmccoy said:
is there a guide for it at all?
Not yet, but I'm working on it... will publish it as soon as available.
@ijmccoy said:
whenever i try to render the leaves disapear and ive no idea why, any help would be great
Which render do you use ?
i've made tests with Octane, Thea, Kerkytea. I could try with your render with evaluation version.
I know some issues with the renders I tested but with good results.yours
Pascal -
RE: [Plugin][$] 3D Tree Maker - New version 1.10.14
@menes said:
I'm struggling much, because of too much slowness of the Pc, to obtain a similar one. Too much to ask if you could give me directions on the values that you used?
obtain a so Olive tree with only 12000 faces really could help much.
thanks in any caseHere are few tips to improve performance and reduce size of trees with this plugin :
Tips to reduce tree size :
-
Reduce the number of faces and segments of the tree. It may change a little bit the way the tree looks like, but generaly you will be able to keep the same global look without loosing much quality. Only 3 or even 2 faces are often enough for small branches (branches level 2 or 3).
-
Use leaves with lower number of faces (as the “square” face for example, one quad face = 2 triangle faces only with 4 vertices) and apply png texture
-
You can create you own leaves/flowers with lower number of faces. To do this, draw a tree, open window components, add a leaf from the component list, edit it and change it. (show the hidden geometry if you want to see all the edges of the leaf faces). Hide/soften the edges. This is not mandatory but it gives a better look. Hide also outer loop edges. Save it with a new filename in the subdirectory “leaves” of the tree plugin. You can now use it within your trees
Tips to improve performance issues
- Disable shadows, fog, profiles of edge styles and complex styles
- Close the outliner window (do not ask me why, but its true!)
- Disable plugins that add component or entities observers (they will add additional time at every tree draw). It s for example the case for the Eneroth railroad. (do not remove the plugin, I’m a big fan of it, just turn it off when drawing the trees)
- Use the proxies features :
- Turn all trees to proxies before saving your model, you will drastically reduce the Sketchup file size.
- Work with trees in proxy mode when you are working on other parts of your model
- Turn all trees to full draw only when you need to render or capture your final image
Hope this helps.
Yours
Pascal -
-
RE: [Plugin][$] 3D Tree Maker - New version 1.10.14
@noicrilo said:
Hi,
this plugin is really awesome, thanks of sharing your work.
I notice on mac OS and sketchup 2014 that the tree bar (with the 4 icons) is always reloaded when program opens,
it is very annoying, can you fix this bug? I’m working with all other features and it seems all fantastic and usefulI'm not sure to understand, or maybe its not working the same way on Mac.
On PC, View>Toolbars> uncheck 3DArcStudio Tree Maker. Does this menu exists on mac ? -
RE: [Plugin][$] 3D Tree Maker - New version 1.10.14
@albertoricordi said:
QUESTION:
How can I include my own trees in the drop-down menu library?
Right click on a tree, then "Save as template..."
choose a different file name that the one proposed if you do not want to overwrite existing template. You can also create the preview image (that is displayed when this tree will be selected in the new list)
Yours
Pascal