Open ralphgeorg-s opened 2 years ago
I'm not sure I understand. What do you want to displace?
In blender its called - overlap threshold https://blender.stackexchange.com/questions/143741/boolean-difference-with-offset
OK, I think I understand. This feature doesn't exist in Euclid currently, but isn't hard to add.
Thx for your answer. Can you guide us on how to do this?
@ralphgeorg-s I'll add the feature soon.
that's amazing, thx.
@ralphgeorg-s I've pushed the feature to the develop branch. Use it like this:
let smallerMesh = mesh.inset(by: 0.01)
let biggerMesh = mesh.inset(by: -0.01)
@ralphgeorg-s actually it seems a little buggy for some meshes. I'll let you know when it's fixed.
@ralphgeorg-s OK, it's working better now. There are still some issues with concave meshes, but that may not be an issue for you. Let me know if it solves your problem.
Thx so much, we will test.
@nicklockwood - we tried yesterday night - but it takes hours to calculate. We do have some complex files.
@ralphgeorg-s OK, I'll do some work to optimize it. Can you send me a sample file I can use for testing?
https://drive.google.com/drive/folders/19vGaDcbvOKZanJKtieztAbt8U1B1J8Ok?usp=sharing
On Tue, Feb 22, 2022 at 11:53 AM Nick Lockwood @.***> wrote:
@ralphgeorg-s https://github.com/ralphgeorg-s OK, I'll do some work to optimize it. Can you send me a sample file I can use for testing?
— Reply to this email directly, view it on GitHub https://github.com/nicklockwood/Euclid/issues/83#issuecomment-1048004690, or unsubscribe https://github.com/notifications/unsubscribe-auth/AX24NWDSNINF3CZRNCZE7W3U4O5SBANCNFSM5OY2VBBQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID: @.***>
@ralphgeorg-s I've improved the performance of Mesh.inset(by:)
- it should now be near-instant.
Hi Nick,
with inset, the simple objects get messed up. Without the calculation is clean. Any idea why that happens?
The last change works really well. The cal. is done super quick. Inset 0.05 means 50 microns?
[image: Screen Shot 2022-02-24 at 8.29.36 AM.png] [image: photo_2022-02-24 08.29.28.jpeg]
On Tue, Feb 22, 2022 at 5:08 PM Nick Lockwood @.***> wrote:
@ralphgeorg-s https://github.com/ralphgeorg-s I've improved the performance of Mesh.inset(by:) - it should now be near-instant.
— Reply to this email directly, view it on GitHub https://github.com/nicklockwood/Euclid/issues/83#issuecomment-1048258250, or unsubscribe https://github.com/notifications/unsubscribe-auth/AX24NWHIU4SYLNZVHHXCW7DU4QCMDANCNFSM5OY2VBBQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID: @.***>
@ralphgeorg-s the screenshots you shared didn't come through. Perhaps you can share some code I can use to reproduce the issue with the models you already provided?
Inset 0.05 means 50 microns?
Euclid uses abstract distance units, so it will be relative to whatever the original model scale was. If your original model scale is in mm then 0.05 will be 50 microns (unless you've applied a scale transform to the model after loading it).
@ralphgeorg-s any update?
Hi, not yet. when the offset is zero - then the boolean difference is perfect. I used a cube ad a pipe. When you set an offset the models break in pieces.
when we add the Mesh.inset(by:) - the mesh is not clean somehow. the second screenshot is with inset zero - super clean,
do you have any ideas or advice? thx for your help. ralph
the library is amazing. I would like to add a displacement - for example 0.5mm - so that the objects are not water-tight. Is there an option?