Anuncios

The Autodesk Community Forums has a new look. Read more about what's changed on the Community Announcements board.

Union/Subtract leaving tiny extra surfaces/lines, please help

Anonymous

Union/Subtract leaving tiny extra surfaces/lines, please help

Anonymous
No aplicable

I am simply trying to join two box's of identical cross-sectional profiles (I copy pasted the first box to make the second box).  I rotated 1 box by 90 degrees relative to the other box, and then I 3Daligned (with 3D Object snap on corners) to make the boxes make an L shape (they have small cross sectional area compared to a long length). When I then union the 2 objects, I get two extra lines across the intersection of the L. This seems to indicate that they are mismatched along the dimension perpendicular to the "extra lines." That should be impossible, since the objects have identical length along this dimension (the second was a copy of the first and the properties do read the same length along this dimension). They should have an identical position along this dimension (indeed the properties list the same position). The 3Dalign using the snapping function should make the alignment precise(? maybe that is not true). 

 

Anyway, I tried other methods as well: after 3Daligning, I tried extending the box in all 4 relavent directions with the snap to command to grab the corners of the box I am trying to union to, which I thought would close any mismatches; however, it does not. I.e. I still have the same issue when I union the objects. 

 

I know that the 3Dobject snap grabs wrong points all of the time, but I have tried everything dozens of times, rotating and checking that I did not accidentally grab the wrong points. 

So, Is the 3D object snap not precise enough? Is the 3dalign not precise enough? Do copies of objects have different dimensions at the sub-10ths scale? Is it because I made the blocks in a coordinate system rotated 45 degrees from my WCS, leading to trivially small but relevant rounding errors or something like that? Do I need to have some special setting of CAD turned on? What is the deal here? 

 

Also, for what it is worth, I have been able to make other similar joints union perfectly; however, it only works on about 50% of the attempted joints (not 50% of the times that I try, but 50% of the joints--as in I try many many times before giving up). I am using the same techniques when it works and when it does not work. So, what do I do? Is this just the struggle of CAD or is there some trick I can use that I am not? 

0 Me gusta
Responder
2.532 Vistas
13 Respuestas
Respuestas (13)

Valentin-WSP
Mentor
Mentor
Solución aceptada

@Anonymous ,

 

Welcome to the AutoCAD Community forum!

 

First, found 1 error when doing an AUDIT. 

ValentinWSP_0-1629508368600.png

 

 

The reason for the line when using UNION is the different (Y) Coordinate at the point shown on the image below.

ValentinWSP_2-1629510366190.png

 

ValentinWSP_3-1629509495093.png

ValentinWSP_2-1629509417205.png

 

I suggest you redraw your L shape and extrude again, but with your UCS = World  and  PLAN = World.

 

This will eliminate the unwanted line like you had before.

ValentinWSP_0-1629510191432.png        ValentinWSP_1-1629510276901.png

 

 



Please select the "Accept as Solution" button if my post solves your issue or answers your question.


Emilio Valentin
0 Me gusta

Anonymous
No aplicable

Solution: Change the number of decimals displayed in UNITS to 8, since CAD keeps 8 anyway. 

 

The problem came from using my UCS to rotate in 3D, because apparently my UCS was only correct to the 4 displayed decimal points but had errors in the subsequent 4 decimals. Therefore, after rotating my boxes the 4 corners of the mating face were not in the same plane as the face I wanted to mate to. So, when I used 3dalign to align the mating surfaces, they only touched at the 1 corner that I used to align them, but the other corners missed each other, barely. 

 

So, Valentin's solution of just using the WCS would have worked too, but if you want to use UCS, I would just display all 8 decimals so you can catch if the coordinate system is slightly off. But at the point you mentioned, it was the difference in X that caused the issue, which your measurement does not show, since you only display 4 decimals (the error will be in the 5-8 decimal), whereas the difference in Y you point to is actually the width of the box; so you probably measured different points all-together—maybe.

0 Me gusta

Alfred.NESWADBA
Consultant
Consultant
Solución aceptada

Hi,

 

>> UCS to rotate in 3D, because apparently my UCS was

>> only correct to the 4 displayed decimal

You can have a difference at any decimal place, also 8 might not be enough.

As long as you have to align the UCS to a specific object use points with object snaps, then AutoCAD calculates independent of displayed digits.

 

Just my 2c- alfred -

------------------------------------------------------------------------------------
Alfred NESWADBA
ISH-Solutions GmbH / Ingenieur Studio HOLLAUS
www.ish-solutions.at ... blog.ish-solutions.at ... LinkedIn ... CDay 2025
------------------------------------------------------------------------------------

(not an Autodesk consultant)
0 Me gusta

j.palmeL29YX
Mentor
Mentor
Solución aceptada

@Anonymous wrote:

Solution: Change the number of decimals displayed in UNITS to 8, since CAD keeps 8 anyway. 

 

The problem came from using my UCS to rotate in 3D,  

 


No. That doesn't cause your align and union problem. To set units to 8 only shows any values with 8 digtis, but has nothing to do with the drawing precision. 

First: your geometry is not correct adjusted in the UCS. I think you don't wont such irregular values as I show at the beginning of the >>video<<. You should correct that.

But this also doesn't cause your union problem. Even if the first object is positioned in any place and angle  - if you use the align command in a correct manner you will get the expected result (see video). 

 

BTW: I can not confirm your statement "I know that the 3Dobject snap grabs wrong points all of the time". Here the 3D Osnaps work well every day (and for the current issue you don't need 3D Osnaps). 

 

 

 

 

 

Please mark "Accept as Solution" if my reply resolves the issue or answers your question, to help others in the community.
 

Jürgen Palme
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature

0 Me gusta

j.palmeL29YX
Mentor
Mentor

@j.palmeL29YX wrote:


... I show the >>video<<.
 


I hope now the link to the >>video<< works correct. 

 

 

Jürgen Palme
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature

Anonymous
No aplicable

@j.palmeL29YX, I cannot see your video. Maybe I don't know how to use this thread, but I could not figure out how to watch it, but I would like to know what irregularities you are referencing, in particular if those irregularities are in the first 4 decimals (all of the 5-8 decimal irregularities, I have cleaned up now that I know they exist and can see them). 

 

I know that it only changes the displayed decimals, but when I CAD, I am always checking that distances, positions, etc. are correct, but I was only checking the correctness to the displayed precision (4 initially). So, by showing all 8, I catch errors with my normal checks, and my unions, etc. work fine. 

 

I guess my preference is to align the blocks angularly and with the correct size first, and then move them into place with the 3Dalign only specifying 1 insertion point. This works fine, as long as you align them to the full precision first. Ironically, I wanted to avoid my parts picking up slight angles that I could not see in my drawing by doing a 3-point 3dalign—turns out they showed up anyway for other reasons. But @j.palmeL29YX  is right that if I used 3-point 3d-align that would have corrected the erroneous orientation of my block introduced by my rotation axis having a 5-8 decimal place error in orientation. But for me and my methods (which do work), the error was due to the rotation axis mis-alignment in the 5-8 decimal places, having corrected this, I rebuilt my whole drawing using the same methods I used before and everything worked great. 

 

As for the 3dSnap issues. Yes, it works, but it also grabs a point on an object behind the one you are looking at from time-to-time, which I have to solve by rotating to different angles and trying again. I find it is best, if you can rotate the point you want to grab to have nothing behind it. This is probably the source of my issue with the UCS being slightly misaligned in the first place, btw, @Alfred.NESWADBA.  Since I did create my UCS with OSnap on to grab the corners of a plane, but I guess I grabbed different points than I thought, and when I went to confirm the orientation of my UCS, it was correct... to the displayed 4 decimals, but off in the 5-8, propagating all of my issues forward. 

 

Anyway, I guess there are a lot of ways to CAD, but my take away is display all 8 decimals (hopefully there are not hidden additional decimal places), because then if you are checking your drawing as you go, you will catch errors. If you only display 4 decimals and you check your drawing, you may still be off and not know it until way down the line, as was the case here. But maybe there is some unknown disadvantage to displaying 8 decimal places, IDK. 

0 Me gusta

Anonymous
No aplicable

@j.palmeL29YX , Yes, the video works great—thank you! The errors in the geometry that you point out come from rotating around the y-axis of either the WCS or UCS (I kept switching between them regularly), where the y-axes of the two coordinate systems made a very small angle, on the order of 0.00004 radians. So, when I rotated by -90 around one of those y-axis, then in the other coordinate system I had a 269.9999xxxx angle, which rounded to 270 (escaping my error checking), but causing all of the issues I had here. 

 

It is true that if I had used the 3-point 3dalign procedure as you did, everything would have worked. However, then my object would be at those weird angles, and I am not sure that my complete system (much more than shown in that drawing) would work with me switching back and forth all of the time between the WCS and my UCS. As in, maybe I could close the gaps, but eventually I was going to make a closed gasket, and I am not sure the final ends would touch to create the closed loop, or that that loop would sit right on my other parts, which might have been aligned with the opposite coordinate system. Not sure. 

 

Anyway, for me the big issue was relying on the 4 decimals displayed when there are really 8 (please tell me there are not 9-16 that cannot be shown or something, which also matter for things like Union etc.). 

0 Me gusta

Anonymous
No aplicable
Does CAD keep 16 (8 unshown). Will the underlying system understand that points within 10^-9 should be joined during a Union, etc.? Or could I run into the same issue—i.e two corners I wish to mate into one are at different positions, dx<10^-8, leading to a failure to mate them into one corner?
0 Me gusta

Alfred.NESWADBA
Consultant
Consultant

Hi,

 

AutoCAD works on a double precision based system (>>>details<<<), this does not mean that you can expect a number of decimal places where it works correct and one more it fails. It depends also on the number of places before the decimal sign.

 

Together with the assignment of units you can work in all (close to) cases with the accuracy you need.

Using Meter or Inch as units will work well as long as you don't have to measure something in light-years. You also won't assign light-years as units when you want to measure distances between atoms.

 

Having said this ... when you reach the limits of double precision calculation in default cases the value will be rounded. In very few cases it could also happen that the function needed to do a calculation might fail (you might find some threads here discussing issues with finding intersection points when the geometry is placed at very high coordinates).

 

HTH, - alfred -

------------------------------------------------------------------------------------
Alfred NESWADBA
ISH-Solutions GmbH / Ingenieur Studio HOLLAUS
www.ish-solutions.at ... blog.ish-solutions.at ... LinkedIn ... CDay 2025
------------------------------------------------------------------------------------

(not an Autodesk consultant)
0 Me gusta

leeminardi
Mentor
Mentor
Solución aceptada

@Anonymous When you say "...for me the big issue was relying on the 4 decimals displayed ..." I think you are missing the point. Most of the problems that you are having is due to poor technique not examining distances.   As noted by @j.palmeL29YX , it is much better to use align than to rotate an object to make two planes flush.   The precision of an angle is a function of how big the reference geometry is and where it is located.   All coordinates in AutoCAD are stored as double precision floating point numbers as noted by @Alfred.NESWADBA .  Essentially this means that all coordinates carry 15 to 17 significant figures.  15 significant figures is a safe value to work with. 15 significant figures does not mean 15 decimal places.  The number of decimal places of precision varies with the distance the vertex is from 0,0,0 WCS. 

To simplify the concept of significant figures let's assume we had a CAD system with 3 significant figures.  A real floating point number is of the form 1.23 x 10^4  = 12300. Here, 1.23 is the mantissa and 4 is the exponent. The next number after 1.23 x 10^4 for our system with 3 significant figures is 1.24 x 10^4 = 12400 a difference of 100!  As we go further away from 0,0,0 the step from one coordinate to the next becomes larger and conversely, as we go closer to 0,0,0 the step becomes much smaller.  For example, 1.23 x 10^-3 = 0.00123 and the next coordinate is 0.00001 away. 

Now think about drawing a line at an angle. Both ends of the line are limited to the precision of the database, 15 significant figures for AutoCAD, 3 for our simple CAD system. Let's say we have a line from 0,0 to 4.12, 3.56 in our simple CAD system. The angle of that line is atan(3.56/4.12) = 40.82956...°  Now we would like to make a line at a slightly larger angle but with the same y coordinate. That line would have its end at 4.11,3.56 forming an angle of 40.89845...°  a difference of 0.06889...°.  Using a longer line would enable making more precise angle rotations.  The angle you cite of 269.9999xxxx is extremely precise and a couple of orders of magnitude better than you could fabricate.  If you build a box orthogonal to the world then rotate is slightly you can get similar errors but they are usually well within requirements.  Note that 3ds Max has a single precision database of 7 significant figures.  This is usually not a problem because the  primary output is renderings or animation.  Not CNC machining instructions. 

 

When using align it is best to use points as far apart as possible.  For your model I would use the align command and the 3 sets of vertices as noted below to get the best alignment. 

image.png

lee.minardi
0 Me gusta

j.palmeL29YX
Mentor
Mentor

@Anonymous wrote:

 

However, then my object would be at those weird angles, and I am not sure that my complete system ... would work with me  


That is correct. As I already wrote above - first you should "repair" the existing inaccuracy in your drawing, otherwise - you are right - the inaccuracies will cumulate and at the end  the final ends may not touch and no create the closed loop (or similar unwanted results). 

In >>this video<< you can see an example how to rotate the first object into a precise position (using the align command). [BTW: I used not the 3DAlign command, but the Align command. For me it seem to be more intuitive to handle. But it is your choice - the result should be the same if you do it correct. ]

 

It is a common misconception that a higher number of displayed digits can improve the drawing accuracy.
The accuracy of the drawing must be ensured already during the drawing or modifying the geometric objects. A higher number of digits only let you see a more precise information of what you have drawn before. 

 

 

Jürgen Palme
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature

0 Me gusta

Anonymous
No aplicable
Solución aceptada

@j.palmeL29YX @Alfred.NESWADBA @leeminardi , I see your points. I suppose the point is that you really need to use Autocad's built in snapping tools. I like to do the geometry on the side and determine things and then make the moves, but this evidently leads to undesirable outcomes due to rounding. I definitely agree that I only need 3, at most 4 decimal points—no CNC'ing to 1 millionth of an inch, but in my case the difficulty is that those tiny errors cause failures in tools such as union. 

 

Anyway, the take away is try to do everything with a pre-defined tool and limit hand calculations on displacements, rotations, etc. I have also noticed that things are better when done in 2D first and extruded into 3D. I was trying to do everything in 3D from the start, making some things impossible that were trivial when started in 2D, e.g. rounding the corner of the L-shaped boxes. 

 

Thank you for the quick and clarifying comments—excellent community here! Week 4 of CADing for me here, frustrating but getting better. 

0 Me gusta

j.palmeL29YX
Mentor
Mentor

@Anonymous wrote:

... but in my case the difficulty is that those tiny errors cause failures in tools such as union. 

 

 


A right and very important realization: In AutoCAD you must, you MUST urgently draw a correct linework/geometry, regardless of what the drawing is supposed to represent - the inner parts of a mechanical pocket watch or the ground plan of a big building. The drawing must be precise, because otherwise a lot of commands in AutoCAD will not work correct: e.g. join lines/arcs into a polyline if they don't touch exact at the endpoints, hatching an area that is bounded by several objects but has (tiny) gaps, sculpt 3DSurfaces into a solid if the surfaces don't describe a watertight volume (smallest gaps will cause a fail) and a lot of others. 

The accuracy with which the real model is later produced is a completely different matter and has no influence on the drawing accuracy required in AutoCAD. 

 

Good luck and success for future projects 

 

 

Jürgen Palme
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature

0 Me gusta