abdullah wrote: ↑Mon Nov 22, 2021 1:13 pm
Geometry elements are not an intermediate state. They are .... solved according to the Constraints.
Thank you for your kind explanations, much appreciated. I have a lack of underlayed knowledge required , but I guess I've got your meaning.
If you only want to draw sketcher constraints, you should not need to.
Yes that's only what I want, only draw sketcher constraints, or Techdraw constraints linked to sketcher's one. I will explain below or later (it's late here).
domad wrote: ↑Mon Nov 22, 2021 2:04 pm
resizing (not eliminating) the problem of topoological renaming/redefinition
First, thanks for your interest to dimensioning drawing stuffs.
What you said above is both right and wrong IMO. Generaly speaking it could be right, but concerning what I would like to plan it's wrong.
My aim is to link directly dimension constraints in TD's view from Sketches in 3D model. Hence the robustness will be similar to the dimensions of sketches = very reliable. As @Abdullah said:
This would be hyper robust (unless you delete the constraints in the sketch)
That's my opinion as well and that's why I've opened this topic.
.....In the same way, in Draft the “Dimension” tool could be enhanced making it fully representable in TechDraw (not as happens with the “insert Draft object” function)..... Medusa4....Could it be a workflow that can be implemented in FreeCad?
I see your meaning and I respect your intention, but it would deserve another topic maybe. Here I'm going to focus to my original aim, it is already a hard task for me to talk and try to code a little bit (I'm a noob in coding) about it. No offense. Please jump into this party, then if we get some good results we could try to extend the plan to Draft dimension objects if that make sens. I'm not sure, because AFAIK you would do the job twice here (positioning of Draft geometries + 3D dimensioning). BTW and AFAIK the workflow you linked in your previous post is already powerful at this point.
First I should repeat that my aim would be to import dimensions from
sketches to TD view. I have strong reasons for that:
- sketcher WB is a very powerful way to start 3D modeling of mecanical parts
- it's very upstream and reliable topologicaly
- the 2D solver ease a lot the job of geometries placement
- you get the sketch geometry by using constraints, namely dimension constraints hence you do both placement ans dimensioning job at the same time. Hence you do the job once, not twice.
- you save time and health (mouse clicks -> carpal tunnel syndrome)
Actually my plan is cristal clear in my mind but it would depend what Abdullah would reply. Because it's pretty easy to have a plan, but much more difficult to write the code then get it works
(this is not a request, any help would be appreciated though).
If that make sens, here is the plan:
Because i don't know so much the official FC vocabulary or the code vocabulary I introduce below my own vocabulary:
Here after I will name dimension constraint as "dimension", then:
- Vocabulary-elements.png (35.07 KiB) Viewed 2312 times
1- dimension text position
2- dimension line
3- extension line
4- extension line end
5- point
6- Sketch LCS
As @wandererfan said:
Picking a length/angle constraint and saying make a dimension in this view is likely quite possible. Assuming the projection direction aligns with the sketch normal, among other things. It would be a kind of free floating dimension, not actually linked to an edge in the drawing.
In fact I wouldn't even pick up dimensions from sketcher, we could rather create a dimensions in a TD view by using python method TechDraw.makeDistanceDim3d that takes 2 3D points (see previous posts of @wandererfan). Then those points would be linked to the coordinates of related points in sketcher, for each dimension of the sketch.
Of course the TD dimension value would be linked to the related one of sketch.
So, for eg. about a linear dimension, the user would select both a sketch and the related TD view, then:
1- inside the sketch: collect local sketch coordinates of both points, then link it to the dimension's name (is it possible Abdullah? python access?)
3- transform local sketch coordinates of points to global coordinates then to TD view coordinates
4- create two points in the view selected by user. Those point would be linked to the points in sketch in order to updates on model changes.
5- create TechDraw.makeDistanceDim3d that takes the 2 points
6- ideally it would be great to be able to move extension line ends of the TD dimension (shorten or lenghten the extension lines I mean), in order to get a better drawing. Not possible yet AFAIK in TD.
The user would dimension the drawing by selecting sketch by sketch to import items step by step in each selected appropriate (normal to the selected sketch) TD view.
With this workflow the user would the dimensioning job only once (mainly inside sketches) and TD dimensions would update automaticaly while 3D model changes.
At this level it would save again a lot of time and mouse clicks -> carpal tunnel syndrome
Edi, what's your opinion about all of this?
Any comments and help are welcome.