TheSwamp
CAD Forums => CAD General => Topic started by: MSTG007 on July 12, 2017, 08:55:38 AM
-
Any way to identify from a selection of lines or polylines which ones are parallel to the one you select? I really do not feel like redrawing something if I already know which ones are ok. Thanks for the help!
-
Lots of info on this site.
http://www.theswamp.org/index.php?topic=23170.msg281630#msg281630
-
Thanks CAB, ill check it out.
-
If the lines are reduced to unit vectors they should be directly comparable (with a bit of fuzz).
-
I kind of had to redraw it. But this is what I was looking at. We received an site plan from the architect. I wanted to make sure that the parking stalls were parallel with the building. So by selecting a line it would then high light all the lines that are parallel with it.
-
hate to do this... I still cannot figure this out. I looked through the link CAB provided. I thought I could get it figured out. :tickedoff: Apparently not.
-
Basic approach will be to pick a line and get its slope, call it m.
Then select all lines/polylines in the drawing and iterate through them. You'll probably want to filter out for polylines that only have 2 vertices.
check the slope of each line, call it m2
if((m2.isclose(m)) or (m2.isclose(m+PI))) then the line/polyline is parallel if it's parallel, highlight it.
You can also find the slope of a line by getting the (change in Y)/(change in X) between the endpoints.
Edit: You'll also need to check for a vertical line, which has an undefined slope (change in x = 0).
Not sure what language you're hoping to work in, but that's the basic idea. I've no idea how to do this without code. :)
-
Here's a quick one ..
(defun c:foo
(/ _foo e i s
) '((-4 . "<OR")
(0 . "line")
(-4 . "<AND")
(0 . "*polyline")
(90 . 2)
(-4 . "AND>")
(-4 . "OR>")
)
)
)
)
)
)
)
)
)
-
saving the day once again! I didn't even think slope. Thank you :whistling:
-
saving the day once again! I didn't even think slope. Thank you :whistling:
Glad to help :)
-
BTW how's your day job going?
-
BTW how's your day job going?
;D
-
lol. Not sure how to respond to that one. That is one LARGE ninja.
-
quickselect can also tell you this.
r-click in empty part of drawing ->Quickselect->object type->line->angle->value= 90->ok
works like a charm
-
quickselect can also tell you this.
r-click in empty part of drawing ->Quickselect->object type->line->angle->value= 90->ok
works like a charm
This is another way, but only works with lines. The code above will work with plines too :)