Giter Club home page Giter Club logo

Comments (13)

lordofbikes avatar lordofbikes commented on September 21, 2024 1

This is exactly, what Modify - Scale does.
https://docs.librecad.org/en/2.2.0_a/ref/tools.html?highlight=scale#modify

from librecad.

lordofbikes avatar lordofbikes commented on September 21, 2024 1

Sorry, my bad. Seems I've mixed up things, Rotate works this way, with two points, I'd expected, that Scale works the same way. Or maybe it was changed in the past and my memories fooled me.
Now that I've tried myself, I can confirm, that Scale only works with one reference point and the options dialog.

But this cuts both ways, for the Rotate tool we have regularly requests to change it to use one reference only, because entering the parameter in the dialog is more accurate.

from librecad.

NabilAKROUD avatar NabilAKROUD commented on September 21, 2024 1

Thank you again @lordofbikes,
I understand well your perspective that the use of the options dialog is much more practical in case of working with numbers, but when it comes to geometric shapes with irregular fractions I think that with two points (ref, target) it would greatly simplify the drawing.
I leave here a DXF example file where it is very difficult for me to scale and match the two objects with the options dialog.

Scale Req.zip

While waiting for the implementation of the new features, I continue using the available tools.
Thanks to you and the entire team for the wonderful work.

image

from librecad.

dxli avatar dxli commented on September 21, 2024 1

@NabilAKROUD

We can add a button to the scale dialog, so the end user can select a reference and a target point to fill the numbers automatically.

from librecad.

NabilAKROUD avatar NabilAKROUD commented on September 21, 2024 1

It would help.
Thanks ☺️

from librecad.

dxli avatar dxli commented on September 21, 2024 1

I am in the process of implementation, but looks like I get a busy week ahead. Will try to get it work by this weekend.

from librecad.

NabilAKROUD avatar NabilAKROUD commented on September 21, 2024 1

Great question πŸ€”
To avoid losing functionality in the unforeseen future, I would leave both tools, that is, implement the new resize tool without removing the current one.
... and then if it is seen that the current one is redundant during beta testing, it would be removed before releasing the stable version.

from librecad.

dongxuli-concord-design avatar dongxuli-concord-design commented on September 21, 2024 1

That's not actually my question.

My question is:

1, if user chooses isotropic scaling in dialog, then click "find factors";
2, user selects source and target points.

Currently, the isotropic selection is ignored, if points lead to different scaling factors in xy- directions.

To improve:

If isotropic scaling is set, the target selection is limited on the line by the center and the source points;

Some minor issues: avoid selecting the center as source or target;

More improvement: allow selecting two source points and two target points (by auto selection xy- directions of the scaling), so the scaling is defined by points not by the current coordinate system. The overall effect, rotate to one direction, scale by xy-factors, rotate it back.

from librecad.

dxli avatar dxli commented on September 21, 2024 1

Hi @NabilAKROUD,

The current behavior is chosen so based on the easiest for implementation by reusing the current "scale" method, so there's no change to previous scaling workflow for scaling by ratios, where a reference point is not necessary.

It's interesting to investigate how to provide behaviors for other transforms:

1, isometrics (translation, rotation, and mirroring) by reference and target;
2, other offline transforms: scale, shear, perspective, etc.

from librecad.

NabilAKROUD avatar NabilAKROUD commented on September 21, 2024

Thanks for your quick response,
I've been trying to figure out how to scale from a REF point to a TARGET point and am not getting any satisfactory results.
unlike the [Move/Copy Tool] which asks for two points REF and TARGET, the [Scale Tool] always asks for a REF point and a scale FACTOR. To get that FACTOR I use the [Point to Point Distance tool] tool to get the FACTOR (e.g. 60.186/60.162) but I always have a small mismatch.

Thank you and sorry for the inconvenience if I'm not doing things right.

from librecad.

dxli avatar dxli commented on September 21, 2024

The implementation is ready for testing.

I think we should set the relative zero to the scaling center when selecting the source and target points.

A button is added next to the factor input fields. If you gets a better icon for the button, please upload an SVG version here, or create a pull request.

from librecad.

dxli avatar dxli commented on September 21, 2024

Question: do we need to consider maintaining aspect ratio(isotropic) in the new methods?

If the x/y lead to different factors, it's not clear on which one to use, if isotropic scaling is intended

from librecad.

NabilAKROUD avatar NabilAKROUD commented on September 21, 2024

What this tool does is incredible 🀩.
It does exactly what I was looking for and more.
thank you!!!!!

image

Regarding your Question,
If I understand it correctly,
Perhaps to resolve it, it would be good to follow (for example) the same sequence as that of the Rotation tool, that is, firstly start with a Ref and Target points and leave the Dialog box until the END of the operation where it would be retrieved and shown the scale ratio between the two points and where the following choices also come:

  • Delete original
  • Keep original
  • Multiple copies

from librecad.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.