First I need to vent: I am incredibly frustrated with SU right now and ready to switch products.
Running Sketchup Pro on a mac. Imported an STL model and have been modifying and cleaning it up. There were many rounded edges on the part and due to changes, have been removing them and re-adding the rounded edges only as a final step.
The problem is that SU insists on snapping lines to nearby points on the rounded edge - making it impossible to clean up the edges and corners without substantially redrawing the part. The general approach is to square off the edge and/or corner and then delete the rounded artifacts. Attached is an example of a corner where I was trying to clean the original rounded edges. I drew a line from the corner to the intersecting lines where the flat sides meet. SU attaches the line to a point 1 or 2 segments from the desired intersection. Trust me that I selected the desired point. The result is a non-flat surface that does not create a face.
How can I turn off this undesired snapping? or accomplish the cleanup without a substantial amount of work?
What is the scale of this object - for example, the approximate radius of the curved path seen in the image? At very small scales, SketchUp will sometimes merge end-points that are very near each other. Mostly this happens when the Validity Check operation occurs (such as during a Save operation), but I have seen it happen live occasionally, when points are extremely close.
If the scale is not tiny, then try zooming in very close and making triple-sure that the intended point is indicated by the inference engine prior to clicking. I know you said “trust me” but I wanted to mention this anyway.
Approaching this from another angle, if the irregularly-segmented path is intended to be a circular arc, you might delete all the relevant edges and faces from the original STL model and re-draw it with one of SketchUp’s arc tools. When a clean SketchUp arc is in place on that corner, use Push-Pull to pull up that corner to the desired height, then delete the unwanted exterior flat faces.
You nailed it. It was due to the small scale. I scaled everything up 100x and the problem went away. Thank you.
I normally model at 100x or 1000x (a lesson learned early on with SU), but for some reason, I left this one at 1x. Ugh, the wasted time.
As a very experienced software developer, it is strange that the scale causes these problems. I would think that dimension is a conceptual attribute that is applied to the underlying 3D model. Certainly, there are features and functions that are based on specific distances and angles, but otherwise things like snapping should be relative to the overall scale of the model.
I too am a professional software developer (will reach 40 years in the business later this year). Numerical representation is one of a digital computer’s greatest strength - it is what makes it “digital” - discrete (quantized) representation of values. However, a real challenge is to represent values with a wide numeric absolute range - very small and very large. Integers are fabulously precise but historically relatively limited in range (particularly with 16- and 32-bit computers) when used as a fixed-point format (e.g., X bits for fractional part, Y bits for whole-number part, X+Y=16, 32, etc.).
Thus floating point (FP) was invented, which has a wonderfully large range but limited (and magnitude-dependent) precision. Because of constraints on precision, a series of calculations with FP values tends to incur growing numeric inaccuracies. The results of two computations that started with different values but which should yield the same value will rarely be identical. For example, one might expect that 1.5 + 0.5 should equal 1.25 + 0.75, which would be 2.0. In actuality, both sums will be extremely close to but not exactly 2.0. (The values of 0.5, 0.75, 1.25, 1.5 cannot be represented exactly either.)
Therefore, in practical software such as SketchUp a tolerance factor almost always needs to be implemented when comparing FP values. Two FP values are judged to be equivalent if the absolute value of the difference between them is less than the tolerance factor. For simplicity, the tolerance factor is generally a fixed value regardless of the magnitude of the values being compared.
SketchUp uses a somewhat larger tolerance value than I would have expected, on the order of 0.001. As a SketchUp user who often models small-scale objects (e.g., #10 threads intersected with a chamfer), I wish the tolerance factor were smaller. But the “Dave” method (editing a scaled-up copy of a component) works quite well to cope with SketchUp’s FP tolerance.