프로그램
캐드 분류

사각형 중심선 리습 수정

컨텐츠 정보

  • 175 조회
  • 0 추천
  • 0 비추천
  • 목록

본문

안녕하세요! 이게 사각형 중심선 캐드 리습인데 중심선이 사각형 밖으로 튀어나오게 그려지더라구요ㅠㅠ

저는 딱 사각형 길이에 맞춰서 그리고 싶습니다! 그리고 또한 가로 세로로 두개의 중심선이 나오는데 짧은쪽은 필요없는데.. 혹시 수정할수있을까요? 
(defun c:pc ( / a b c e l x )
   
   ;; Example by Lee Mac 2011  –  http://www.lee-mac.com
   (setq x 0.1) ;; Line Extension
   
   (while
       (progn (setvar 'ERRNO 0) (setq e (car (entsel "nSelect LWPolyline: ")))
           (cond
               (   (= 7 (getvar 'ERRNO))
                   (princ "nMissed, Try again.")
               )
               (   (eq 'ENAME (type e))
                   (if (not (eq "LWPOLYLINE" (cdr (assoc 0 (entget e)))))
                       (princ "nInvalid Object.")
                   )
               )
           )
       )
   )
   (if e
       (progn
           (setq l
               (apply 'append
                   (mapcar
                       (function
                           (lambda ( x )
                               (if (= 10 (car x)) (list (trans (cdr x) e 1)))
                           )
                       )
                       (entget e)
                   )
               )
           )
           (setq l
               (mapcar
                   (function
                       (lambda ( x )
                           (apply 'mapcar (cons x l))
                       )
                   )
                  '(min max)
               )
           )
           (setq c
               (apply 'mapcar
                   (cons
                       (function
                           (lambda ( a b ) (/ (+ a b) 2.0))
                       )
                       l
                   )
               )
           )
           (setq a (* x (- (caadr  l) (caar  l)))
                 b (* x (- (cadadr l) (cadar l)))
           )
           (entmakex
               (list
                   (cons 0 "LINE")
                   (cons 10 (trans (list (- (caar  l) a) (cadr c)) 1 0))
                   (cons 11 (trans (list (+ (caadr l) a) (cadr c)) 1 0))
               )
           )
           (entmakex
               (list
                   (cons 0 "LINE")
                   (cons 10 (trans (list (car c) (- (cadar  l) b)) 1 0))
                   (cons 11 (trans (list (car c) (+ (cadadr l) b)) 1 0))
               )
           )
       )
   )
   (princ)
)
(defun c:CE()
(setvar "cmdecho" 0)
(setq ds (getvar "dimscale"))
(setq OS (getvar "OSMODE"))
(setvar "osmode" 37)
(setq cc (getpoint"nSelect circle:"))
(setvar "orthomode" 1)
(setvar "osmode" 179)
(setq ce (getpoint cc "nEnd of center line:"))
(setq dst (distance cc ce))
(setq dd (/ dst ds))
(setq ang (angle ce cc))
(setq cf (polar ce ang (* 2 dst)))
(command"line" ce cf "")
(command"copy" "l" "" cc cc)
(command"rotate" "l" "" cc "90″ )
(setq ls "CENTER")
(command"chprop" "c" cc cc ""  "lt" ls "c" "1″ "")
(SETVAR "CECOLOR" "BYLAYER")
(princ)
)

관련자료

댓글 0 / 1 페이지
등록된 댓글이 없습니다.
전체 6,633 / 1 페이지
번호
제목
이름

최근글


새댓글


알림 0