Notifications
Clear all

[Closed] How to find inner contour of an object?

can we have a test scene (preferably MAX 2016)?

I didn’t know it , haven’t met this,when I get all points , power 6 in dotnet , then use the dll to calculate.

the dll return some lines , the out lines are CCW , the inner lines are CW , same as boolean does
so check all lines’ direction , could it solve your matter

my dll use a high precision , the scene have lot’s space between each other , some thing wrong with my usage
for the 2cd test , I got this , one bug , not know why

Thank you.
Do you mean that you have your own clipper.dll with some modifications made by you and because of this your results are with higher precision than when the original clipper.dll is used?

Can you test what you will have as a result with this scene:
https://drive.google.com/file/d/1QDPwTibENai9_66Rj_gmng_Nv-ovyc5n/view?usp=sharing

All shapes are drawn using SNAP and when some verts are moved the SNAP was also used.

i got this , the inner box is CCW , so lost
some edges I edit again
I use high precision , because the clipper_library use integer

1 Reply
(@miauu)
Joined: 10 months ago

Posts: 0

Thank you. Not the final result but closer to it.

That’s the best I could get so far using clipper lib. But still has some issues

clipper_test_2014.zip (91.8 KB)

Thank you.
The dll stoped working for me. No matter if I load the clipper_library.dll downloaded from sourceforge.net or the dll in your zip archive I got this error:
– Error occurred in anonymous codeblock; filename: D:\3D_CAD_miauu_Scripts_ScriptsToFinishOrDevelop\1_SCRIPT_JOBS_DRAWBOTICS\SCRIPTS\Building Modeling Script\FindOutlinesUsingClipper_05.ms; position: 2; line: 1
– Runtime error: No constructor found which matched argument listClipperLib.Clipper
– MAXScript callstack:
– thread data: threadID:12176

on this line: clipper = dotNetObject “ClipperLib.Clipper”

Restarting 3ds max does not solves the problem. Later I will restart the PC and will check again.

1 Reply
(@serejah)
Joined: 10 months ago

Posts: 0

Yeah it wont work with the code I posted yesterday since the dll that comes from original archive is outdated.
Get the dll from my last attach and use the updated code I sent you in PM.

public class Clipper : ClipperBase
	{
		// Token: 0x0600005B RID: 91 RVA: 0x000047D0 File Offset: 0x000029D0
		public Clipper(int InitOptions = 0)

the clipper need a variable to instantiate
clipper = dotNetObject “ClipperLib.Clipper” 0

It works now but the final result is not perfect.

Page 2 / 4