Hi @Hipcat, please share the workspace to support here, we will take a look at it soon. I am interested especially in the randomly locked ctrl points. While the unlocking is intended to happen if the trim is applied on the given sketch element or it is projected onto another plane, non of the sketch elements should be locked automatically.
The growing number of control points, in this case, is a result of maths behind. When you offset or project a curve, the offset/projected one is a result of an approximation within a given tolerance. To make sure the curve is within tolerance, the offset one should have more control points than the original one.
I think a result of this approximation can be seen in the post below:
There it can be seen a sketch at the bottom of the extrusion and the group of faces is the result of that slight inaccuracy that is between the original edge and the curve made of the edge. I am not familiar with your workflow but I guess if the curve would be removed from the edge, the extruded body would not be split up into that amount of faces.
All in all, there are some tiny details that should be kept in mind, but I would not say that you are doing anything wrong. It is a pretty decent model and you have run into a question that is way over an average use case
I really wish Shapr3D would stop ruining my work. This is one of the MANY examples from different projects since staring this topic. I did not create all those locked points, as well as most of the control points in the spline. Shapr3D is unable to manage that edge now. The sketch is broken there MOST (randomly not all of the time), and if I manage to make a body from it I am unable to loft or chamfer/fillet or otherwise work with it due to Shapr3D encountering different errors. I wish sketches would remain as they were created instead of being seemingly randomly changed by Shapr3D.
Hi @Hipcat, I am really sorry to hear about the frustration that these offset curves are causing. Unfortunately, this is how the math behind offset curves and splines work, and unless we introduce offset curves as a dedicated curve type (that we will at some point of time), these curves will always be converted to splines, that will lead to many control points in the offseted curves due to their complexity.
I would love to better understand why those control points are bothering you, I might be able to suggest a workaround.
Hi I have made a quick video showing some of the issues here Shapr3D sketch support 02 - YouTube . The biggest issue is that the models/workflow become broken. If I spend some time to create a plan for the model, spend a couple hours working that out, then suddenly a step is not functional it all breaks down. Now I have a half completed model, hours invested in it, and am on a hunt for workarounds which may or may not work while compromising the rest of the model/plan. At this point I go back to try to rework part of the model in an attempted workaround only to find Shapr3D has changed my sketches, and Iād say most of the time in ways that break parts. Then Iām at the familiar point of killing and reloading the app to see if I can manage to limp by to finish off the model by doing workaround after workaround on whatever part of the model/sketches happen to load correctly at the current time. This is also constantly the reality (for me at least) even after going through great effort to limit all things to be as minimal and effective as possible.
hi @Hipcat, let me try to explain to you why these things happening in Shapr3D. They are mainly because of the maths in the background, but there are some modeling tricks also.
Iād like to refer first to the random control point case. If a spline is created in Shapr3D it will be defined by the control points the user places. If that spline gets offset, the end result will be a rebuilt curve based on the spline within a given tolerance. To maintain that tolerance, a higher control point number is needed. Simpler sketch elements are much easier to define (basically by two points), their copied ones remain the same as the original.
Jumping to the randomly locked points, those are made when an edge of a solid body is used as a reference in sketching. Please take a look at the video below, where you can see if a sketch is created on the top face of the extruded body and snapped to one corner point, the connected edges of the solid body will be projected on the sketch plane and immediately locked. I am not sure about how your sketch was made, but in the video, there is a slightly U-shaped curve with locked control points and there are four unlocked control points around it (0:25). I think there you have two overlapping lines, one is a spline with 4 ctrlpts and one is a projected and locked one.
The unrecognized cross-section at 1:50 is interesting, if you could upload the workspace, I could take a look at it. I expect some tiny edges there, just like in the beginning of your video.
The loft tool is a bit more complex case. In the given example, it does not have enough input data to create a smooth transition between the two cross-sections - which are quite different from each other. What loft does is trying to connect the horizontal cross-sections guided by the vertical edges (all the edges that are the corner points of the cross-sections). If the vertical edges have a different number, the tool will twist the shape to provide some result. There are two ways to avoid that effect, the first is to make both cross-sections have the same number of corner points (vertical edges), the second is to manually project lines to the bodies to have those edges where you need them - letās say force some edges to be there.
The chamfer is another different case that is mainly connected to solid-body modeling. The chamfer (and some other transform tools) have boundaries mainly because a solid body could not be maintained at the end. In the case of the given model, some tight curves would end up in edges. If chamfering would be allowed over this limit, the solid body would split up to an open polysurface. In some cases sweeping the chamfered shape then subtracting it is a solution, but it will not work with tight corners and big chamfer distances, it is self-intersecting. Another workaround could be to extrude it straight then select the top face and scale it down. Tight curves can be an issue here also.
Thanks for looking at it and taking the time to get back to me. I will try to work in different ways to avoid the things Iāve been running into. I have also previously sent the project file for the one broken edge to support. I will let them know you are interested in seeing it (they have directed me to your response here so I think they know you?
I know at some point you guys said this kind of thing (minus the bugs in the sketches as they are always breaking and unusable) is preferred. I just canāt understand why anyone would want this. I wish you would add a toggle to turn off whatever this random sketch changing is supposed to be. I NEVER want Shapr3D to randomly add to or change my sketches. It always breaks them. There will never be a day that I want to sit down and work out a sketch for hours to make it exactly how I want, and then say āok Shapr3D please go ahead and randomly mess it all up now.ā In this example I am trying to fix the edge that has given me a āboolean failed/non-manifoldā error (and many more) later in the development. I come back to my sketch to see why I canāt even extrude without creating a wall with 8 faces where it should be only 1. I find this mess. Now I am trying to creat workarounds while killing and reloading the app. Every kill and reload gives me different changes to the sketches. I showed this kind of thing in some videos above. In different models. This happens in pretty much all project files. ALL these issues and more have been plaguing me since beginning with Shapr3d. I used to enjoy seeing new features added to the app with updates, but now I read the updates and am just bummed out that none of these things are ever improving
I think Iāve kind of narrowed down a big part of MY problem (I donāt know if Iām just always doing something the wrong way or what). It seems like Shapr3D is always ADDING random things to sketches. It adds edge lines, tons of locked points, and all kinds of extra lines. I donāt know exactly what actions cause this, but Iām guessing a lot of different actions since it happens everywhere so frequently. The workaround Iāve been doing is, when I inevitably run into a problem where Shapr3D canāt perform actions on a part of a model I track that part back to a sketch. Itās usually some horrifically modified sketch just packed full of nonsense Shapr3D has piled into it. I then go through every single line highlighting and deleting to see if there are numerous lines occupying the same space until I am back to my original sketch. I then make sure every point is connected as it was when I made the sketch. This involves several app kills and restarts since, apparently, Shapr3D gets confused about which of the lines it has piled on my sketch it should consider primary. This SEEMS to cause a bunch of broken sketches and awful extruded body problems. Iām not a programmer, so I can only say it SEEMS that way. Anyway, the workaround has at least saved my models for now. Maybe some kind of toggle could be added for āAllow Shapr3D to add things to your sketchesā could be added. I still have absolutely no idea how that would ever be a good thing, so if thatās actually the intended behavior, those who like that can still have it and those who donāt can turn it off. Even leaving it on by default as long as we can go toggle it off if we opt in? Please. Am I just really missing the mark on this and thinking about it the wrong way or what?
Maybe a different color line for Shapr3D automatically added lines. Them going into a separate folder or something so we can just delete them all at once if we want?
If you look at how a complex curve is created mathmagically you will see. A simple curve has 3 pieces of data: Radius and begin and end points. Your curves are complex curves where radius changes throughout the curve more than once. In order to express that in mathematically it must be broken up into individual curve segments. Each with itās own radius, begin and end points.
You might see āA curveā. I see several curves connected together. Those points are the beginning and end of each different curve. Vector plotting.
My āpointā is the extra points arenāt necessarily random.
Oh yes I get that the curves are much more complex than they seem. The problem(s) I am running to are that Shapr3D modifies the sketches when later work is being done in the project. Iām not sure what actions cause all the additions to the sketches, but Iām guessing it is extrusions, projections, and all the normal model working things. When I go back to any of my sketches I usually see a mess of a broken sketch with tons of additions that I did not do. Shapr3D has modified my sketches, and even worse, it modifies the sketches in ways that severely breaks them. The way Iāve been progressing is to manually go back to sketches I need to use again and check every single line for duplicates and remove them all one by one. Then confirm the sketch is correct. All while killing and reloading the app throughout the process because Shapr3D seems to misinterpret its own additions to my sketches and will render various parts of the sketches incorrectly.
The image above shows what I mean by the sketch being broken. It was/is an enclosed sketch, but Shapr3D has added a lot of extras to it in the background. Now parts are not showing as enclosed. Itās a coin toss of it does fix itself after a kill-restart of the app. After going through and manually removing all the bad extra things Shapr3D added I was able to recover my original sketch in a working state.This goes for all my project files. This is always one of the most troublesome ābugsā for me. I honestly donāt know if Iām looking at it the wrong way or what.
create a clean ellipse using the ellipse tool and lock it
extrude the ellipse with -5Ā° negative draft angle
go back to the sketch with the created body visible
draw a line intersecting the ellipse
The clean ellipse, which was locked, seems to be replaced by a mess of control points.
Actually, a new curve has been created above the original ellipse. If you select the new curve and delete, then you get the original ellipse in place but the locked ellipse has been also modified: now, when extruding, there is an unwanted face added.
I understand that there is an automatic edge projection on the sketch, when we draw on a face of a body; this can be useful on certain occasions, this can be painful on other situations, but this cannot mask or modify a clean locked curve.
Looks like the solution could be not to project when the projected curve is very close to an existing curve (distance less than the internal tolerance), and no sketch modification at all when extruding a body [Edit] probably no cache modification or invalidate the cache entry, see below.
Best
PEC
[Edit]
I made a few additional investigations.
For the ālocked ellipse has been also modifiedā, here is what I think:
the original sketch is not actually modified: if you export it in DXF format, you get the same sketch before and after the issue occurs;
but Shapr3D is probably using a cached version of the sketch for performance optimisation, and this version is modified by the extrusion, so for the end users, it looks like the sketch has been modified;
as soon as you made a modification on the curve, it invalidates the cache entry for the curve and you revert to the correct curve definition, probably creating a new cache entry;
if you copy the curve, the copy is correct also, probably because the copy does not use the version in cache, which is a very good thing