onekk wrote: ↑Mon Feb 06, 2023 11:41 am
andrecaldas wrote: ↑Mon Feb 06, 2023 9:17 am
Using
Draft::PointArrays and alike, one can choose an object
A to be replicated through a "point object"
M. Conceptually,
M is a collection of points that specify the
number of copies and their
placements.
...
Placement has a precise mean in FreeCAD, so telling that you are simply saying that what you want is already doable.
A Placement could even be a Matrix a (4x4) matrix that in theory should even used for scaling, [...]
I am sorry... I really fail to understand what you mean. You seem to imply that somehow I am proposing a different
Placement implementation or that I am asking for help on how to use/set the
Placement. The "quote" you made from the
help on FreeCAD.Matrix does not say anything different from the link I had just posted about the so called
augmented matrix.
I do not see how my post goes against or is inconsistent with the
very precise meaning of Placement in FreeCAD. The matrix notation is just a mathematical way people like to use very much when they want to make the idea of "placement" precise. I am using a 3x3 matrix because I do not want to care for the normal vector, as it would simply make things more complicated. The normal vector is not affected by what I am proposing.
Probably I did not make my intentions clear. So, let me explain:
I am suggesting an improvement. That Draft::PointArray (and alike) be able to interpret not only points, but also lines in order to adjust not only the Placement.Position, but also the Placement.Angle and, optionally, Placement.Scale.
Let me avoid using the mathematical language of matrices, because people find them complicated and soon start debating about matrices, changing the discussion subject.
Given the
line object (that would replace the
point object),
Position would be the line starting point.
Angle would be the line angle, and
Scale could be given by the size of the line (somehow). The normal vector is simply the normal to the plane for the given 2D object, as it probably is with
point object, already.
Just to be clear, when I say "somehow" is not because it is not easy to do, or because I don't know how... it is just because further decisions need to be made and I think this part of the discussion can be postponed.
onekk wrote: ↑Mon Feb 06, 2023 11:41 am
See maybe:
https://wiki.freecad.org/Placement
When dealing with concepts, probably it is "a minimun requirement" to learn how things are done actually in FreeCAD and acquire a correct terminology.
I find your comment very unfair. I started using FreeCAD a couple of weeks ago. I have watched tons of videos and read pages and pages of
https://wiki.freecad.org/. I do not understand the treatment I am receiving.
I am trying to use the correct terminology to my best. I have even mentioned
augmented matrix representations of
affine transforms, which are essentially the two most important keywords in the
help quotations you gave me. I talked about the values of
Placement.Scale,
Placement.Angle and
Placement.Position. This is all
correct terminology as far as I am concerned. I do think my post is not badly written.
Or maybe this could be already be achieved using Lattice2 WB (hoping to have remembered well the name) that seem to make wonders, and is very flexible.
Maybe the Lattice2, and maybe the Assembly3 WB.
I did feel very comfortable in suggesting what I suggested because of the information at
point object explanation. It says that the
Draft::PointArray was introduced in version 0.18. And also, about the
point objects it says:
These are the supported point objects in version 0.20 and below and how they can be created:
From that, I supposed:
1. The point object is a new concept in FreeCAD.
2. There is room for improvement.
I am suggesting what IMHO is a very nice improvement to the concept of
point object.
There are many ways of doing things in FreeCAD.
Yes.
And I am suggesting an improvement that hopefully would motivate people to do things in ways that are at the same time graphical and parametric. Notice that the
point object can be bound to
External Geometry.