Comments (13)
This is exactly, what Modify - Scale does.
https://docs.librecad.org/en/2.2.0_a/ref/tools.html?highlight=scale#modify
from librecad.
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.
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.
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.
from librecad.
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.
It would help.
Thanks
from librecad.
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.
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.
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.
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.
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.
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.
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.
What this tool does is incredible π€©.
It does exactly what I was looking for and more.
thank you!!!!!
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)
- Setting linear dimension "DIMSTYLE" via "Dimension" dialog HOT 2
- Impossible to remove dimension label prefix "R" or "β" once entered HOT 2
- Calculator wrongly calculates trigonometric functions HOT 12
- Extended axis lines disappears if origin is out of canvas HOT 1
- Erase command moddelete keeps focus in command line field HOT 1
- Action Shortcut Mappings starts with a horizontal scrollbar HOT 15
- In "Dimension" dialog inserting selected special symbol does not work
- Cmd input field cleared by fast move of mouse cursor from right to left HOT 2
- Allow Lines type for Isometric Grid (and fix its look) HOT 13
- Show grid status in scrollbar line HOT 2
- Polyline append node tool creates a new polyline on top of existing HOT 1
- Add more options to angle constraint setting HOT 3
- Add check box to auto save time setting
- LibreCAD does not open, only shows splash screen HOT 21
- Items disappear and sometimes reappear HOT 3
- Add Isometric projection tool
- Update translation sources on Weblate
- Window for editing blocks cannot be closed HOT 2
- Cleanup extra framing outborders from some dialogs UI
- Crash on initialization of Block editing
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from librecad.