Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
SolidWorks Plugin calculates wrong perpendicular in certain cases
#1
Dear RoboDK Staff,
I have a problem with the SolidWorks plugin. I use SW 2017 SP5 Pro and RoboDK 3.6.2 64 Bit Pro.
I have a part similar to the one that I uploaded. When I choose the surfaces and the curve on one side of the part the perpendicular gets calculated just fine. But when I choose the surfaces and curves on both sides something goes wrong. Also when I choose four surfaces and three curves the result seems odd.

Am I doing something wrong?


Attached Files Thumbnail(s)
           
Image(s)
   

.zip   false_normal.zip (Size: 42.74 KB / Downloads: 31)
#2
Hi maexbecks, 

This can be easily adjusted by modifying one parameter of your SW Plugin. 

In your RoboDK, in SolidWorks, press settings. 
Then bring the "Mix Normal Tolerance (mm)" to a lower value. I tried with 0.001 with your part and it worked just fine. See pictures below. 

   

   

This situation is not a bug. 
Therefore I'll be moving the thread to the general discussion section by tomorrow morning. 

Have a great day. 
Jeremy
#3
Hi Jeremy,

thank you for your answer. Can you please explain the purpose of this parameter?

And also I tried it on my real part and the upper normals again were completely orthogonal. I did not think that the measures mattered so I created the sample part with other dimensions than the original part. After I changed them also here the two upper curves have orthogonal normals. I uploaded the part again.

Anyway ... instead of exporting the part with all curves in one turn I now have grouped them instead. This worked very well.

Regards, Maxim


Attached Files
.zip   false_normal (2).zip (Size: 43.14 KB / Downloads: 25)
#4
Hi Maxim,
This tolerance is the distance between each point in a curve and its projected point on a surface to allow mixing curve normals from different surfaces. If you set it to -1, only the first/closest surface will be used to extract the normal.
If the curves are the intersection of 2 surfaces, a very small value such as 0.001 mm tolerance should work or anything under 0.1 mm (which I believe it is the default).
Albert
  




Users browsing this thread:
1 Guest(s)