Newbie

posts: 0

Registered: 2012-1-14

Message 1 of 4

05-05-2008 05:09 . am   |   View his/her posts only
A client asked me how to bisect an angle in ZWCAD recently. And I summary that there are three methods as following, they work both in ZWCAD and AutoCAD.

1, Use Construction Line command

On Draw toolbar, click the Construction Line button and enter B to select the Bisect option. Then follow the prompt to select the vertex and two sides of the angle. Now you can get the bisector.
Command: _xline Specify a point or [Hor/Ver/Ang/Bisect/Offset]: B
Specify angle vertex point:
Specify angle start point:
Specify angle end point:
Specify angle end point:

2, Use Dimension command

Firstly is to make an angular dimension for the angle. Then click the Line button on Draw toolbar and select the vertex point as first point of the line. Another point of the line is located at the midpoint of the dimension arc. Now the bisector is available and the angular dimension could be deleted.
[attach]1348[/attach]

3, Use Circle command

Firstly draw an accessorial circle using the angular vertex as centre to intersect with two sides of the angle. Then trim the arc outside the two sides. After that, draw a line with the angular vertex as starting point, and the midpoint of the arc as another point. Now the bisector comes out.

If you have some experience on using CAD software, please share with us.

Try ZWCAD+ free for 30 days:
Tags: bisect, angle

donkeykid

Newbie

posts: 0

Registered: 2011-11-16

Message 2 of 4

05-05-2008 05:09 . am   |   View his/her posts only
I usually use this lisp:
1. (defun getln (PR)
2.    (setq TYPE "nil"
3.    PRMPT (strcat "'nPick " PR " line: "))
4.    (while (/= TYPE "LINE")
5.       (if (/= (setq TEMP (entsel PRMPT)) nil)
6.          (progn
7.             (setq LN1 (entget (car TEMP))
8.             TYPE (cdr (assoc 0 LN1)))
9.             (if (/= TYPE "LINE")
10.             (print (strcat "Can't bisect a " TYPE)))
11.          )
12.          (print "Invalid point")
13.       )
14.    ) ;end while
15. ) ;end getln()
16. (defun C:BISECT(/ P1 P2 P3 P4 PIK1 PIK2 LN1 P5 P6 ANGA ANGB ANGC TEMP TYPE)
17.    (getln "first")
18.    (setq P1 (cdr (assoc 10 LN1))
19.       P2 (cdr (assoc 11 LN1))
20.       PIK1 (osnap (cadr TEMP) "near")
21.    )
22.    (getln "second")
23.    (setq p3 (cdr (assoc 10 LN1))
24.       P4 (cdr (assoc 11 LN1))
25.       PIK2 (osnap (cadr TEMP) "near")
26.    )
27.    ; get intersection and angles
28.    (setq P5 (inters P1 P2 P3 P4 nil)
29.       ANGA (angle P5 PIK1)
30.       ANGB (angle P5 PIK2)
31.    )
32.    (if (> ANGA ANGB)
33.       (setq ANGC (+ (/ (+ (- (* 2 pi) ANGA) ANGB) 2) ANGA))
34.       (setq ANGC (+ (/ (- ANGB ANGA) 2) ANGA))
35.    )
36.    ; draw bisector from intersection to length
37.    (command "LINE" P5 (polar P5 ANGC (distance P5 PIK1)) "")
38.    (prin1)
39. ); end bisect.lsp
Copy Code
Thanks

maker

Newbie

posts: 0

Registered: 2008-8-15

Message 3 of 4

05-05-2008 11:19 . pm   |   View his/her posts only

Thanks, donkeykid ;),

I'll try this. Though I like the 'Const Line' method, too.

I think there's also a way using 'cal (transparent 'calculator' command), but I can't remember it. The 'cal command for 'mid 2 points' was also very awkward to use in Autocad, so I gave it up. Now of course, Autocad has the 'mid 2 points' snap.

Maybe it can be integrated into ZwCad if it works well and there's no problem. Actually, it should be easy enough (for us) to put on the right-click menu - using the 'customise' command.

maker2008-05-06 01:03:19

Newbie

posts: 0

Registered: 2012-1-14

Message 4 of 4

06-05-2008 04:37 . am   |   View his/her posts only

Thank you all! We will consider whether to integrate it into ZWCAD.