马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×

- (defun c:tt (/ cutz ms thisdrawing)
- (defun cutz (p)
- (list (car p) (cadr p))
- )
- (setq thisdrawing (vla-get-activedocument (vlax-get-acad-object))
- ms (vla-get-modelspace thisdrawing)
- )
- (vla-startundomark thisdrawing)
- (vl-catch-all-apply
- '(lambda (/ p1 p2 p3 p4 v Regions Region pl)
- (while (and (setq p1 (getpoint "\nFirst Corner: "))
- (setq p3 (getcorner p1 "\nOther Corner: "))
- )
- (setq p1 (cutz p1)
- p3 (cutz p3)
- v (mapcar '- p3 p1)
- p2 (mapcar '+ p1 (list (car v) 0.))
- p4 (mapcar '+ p1 (list 0. (cadr v)))
- )
- (setq
- pl (vlax-invoke
- ms
- 'AddLightweightPolyline
- (append p1 p2 p3 p4)
- )
- )
- (vla-put-closed pl :vlax-true)
- (if regionS
- (progn
- (setq region (vlax-invoke ms 'addregion (list pl)))
- (vla-Boolean (car regionS) acUnion (car region))
- )
- (setq regionS (vlax-invoke ms 'addregion (list pl)))
- )
- (vla-delete pl)
- )
- )
- nil
- )
- (vla-endundomark thisdrawing)
- (princ)
- )
|