-
Notifications
You must be signed in to change notification settings - Fork 19
Add bevel import option #83
base: master
Are you sure you want to change the base?
Conversation
|
nice, did you use my code or you use some of your own? also it is not just easy as that, try to use it on complex bricks and you will find out IT DO NOT WORK...that was reason why I did use modifiers which was the only suitable way...try for example apply this on LDraw CS set #493 and it will not work I guess ;) If you try it with such simple bricks, as I also did in my start :), you may think OH IT WORKS but it does not - once there are those complicated LDraw objects with many edges in several angles etc.:) I may be wrong maybe it was only here but please try it and let us know, I will wait... |
|
also you DEFINITELY need to add some exceptions like big 32x32 baseplates because seams are not needed there but moremover making seamsmon them take Blender to loooooong freezing-like state and as I said baseplates do not need it: if you look carefully I did it in mymcode and therefore its execution took like few seconds with bigger sets ;) P.S.: I look how you do your code and just for test I "hacked" it to my code replacing my own just to see if it does what it should but 10+ minutes after Blender still fighting with it...still not there, still waiting, Blender looks frozen EDIT: Oh and one very important thing: although your solution in fact do not need any exceptions comparing to my code but on the other hand your solution takes so much longer to apply and also making my Blender semi-frozen... |
|
...another issue with your code I just noticed: on bigger, ehm, longer plates, like 6x12+ their edge is visibly not sharp but rather beveled, cos your initial offset value of 0.1..... was not enough so I change it to 0.2 for more visible seams and then happen what I just told you... |
instead of direct mesh modification
|
So do you mean that I need more bevel on the bricks or less? Try out the latest code and tell me what you think. I made the bevel be a modifier instead of direct mesh modification. :) |
|
@rioforce wait a while I am implementing my somewhat new improved code to your importer in the section where you applied EdgeSplit... ;) also definitely you need to apply modifiers not just "hang" them as you did with EdgeSplit cos it eats up RAM for no reason as once applied there is no need to change anything ergo apply it not just put it there and the same goes for EdgeSplit :) |
|
also automatically as I look at your code I saw something you did not see because I did this myself before you as first one :):):):) so I can tell you your code will not work: I will make fork frommyour code and rewrite that part as it needs to be, just wait... :D
|
@bublible Remember that fork you made the other day? Go to it's settings, scroll to the bottom, and press the delete button (I say do this because you don't have any experience with git yet ;)). Then to here and click the Edit button. It will make a copy the repo with the latest changes on your account. Once that is done, go back the script (this link will not work until the previous steps are performed), click Edit again, and start editing. :) |
|
done :) although your formating is somewhat shifted in second and third line, but I saw it as OK in your editor here BTW how can I see my edited code as here when I click "Files Changed" on the top? Oh my english sucks, sorry...I mean: how can I see only the changes I made to his code? |
|
I tested your code and at first it didn't work. I fixed it to where it would work (there were just some formatting errors like inconsistent use of tabs and spaces, and the indent level, but they were easy to fix. :P ) Anyway, it doesn't do anything much different than my script except that the bevel looks kind of different. It is still a modifier.
Actually, the point of this script is to import LDraw mesh into Blender. But we added the extras to the script so the LDraw mesh would look better in Blender (because original LDraw mesh without cleaning up is really bad). This is one of the many features are are putting in the script, so it needs to be optional. ;) |
|
'I tested your code and at first it didn't work. I fixed it to where it would work (there were just some formatting errors like inconsistent use of tabs and spaces, and the indent level, but they were easy to fix. :P )' 'Anyway, it doesn't do anything much different than my script except that the bevel looks kind of different. It is still a modifier.' Not true: apply your code and you will see BIG difference, ONCE MORE: apply it to complex set not those tree simple 2x4 bricks :P See: at the beginning when I only started my code I also made like 9 simple cubes and tested on them being happy I made it, but once I applied it to REAL LEGO SET everything changes and the real straggle began only to find out that the right sequence of modifiers and their right values was the way... mind you!:D Difference besides different values you used is MODIFIERS SEQUENCE: if you add EdgeSplit first and only than Bevel YOU WILL SEE NO SEAMS - that was what you originally did in your code... ;) I'm telling you I played with it several days so I probably came thru all possible options, mistakes and errors |
|
I'll test your code with a few large models tomorrow and see how it works. :) |
|
OK, try it with CS set #493 as I did if you can...that official .ldr is very easy to find (although I made my own quick in LDD and exported as .ldr) |
|
Moved to v1.2.5 milestone. |
|
Bevels are great but they increase the mesh size dramatically the bigger the models are. More important is a instance feature for repeating models to keep even complex scenes small and RAM-friendly. |
This bevel option creates a small 1-segment bevel on each brick. Here's a picture I threw together of the bevel feature:
This feature was requested by @bublible.