프로그램
캐드 분류

리습 실행순서 변경하기

컨텐츠 정보

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

본문

교차점에 대각선의 선을 긋는 리습입니다.
이걸 실행 순서를 변경하고 싶습니다.
자세한 내용은 파일 첨부 하겠습니다.



(defun c:inline ( / _slashpt acDoc acSpc Sset dist oList IntPt )


 (defun _slashpt(pt dst / p1 p2)
   (setq p1(polar pt (/ pi 4) dst)
         p2(polar pt (/(* 5 pi)4)dst)
   )
  (list p1 p2)
 )
 
  (setq acDoc (vla-get-activedocument (vlax-get-acad-object)))
   (setq acSpc (vlax-get acDoc (if (= 1 (getvar 'CVPORT)) 'paperspace 'modelspace)))


  (if (setq dist(getreal "n사선길이를 입력하세요:"))
    (progn
       (setq Sset (ssget ))
       (setq dist (* dist 0.5))   
      (setq oList (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex Sset)))))


      (vla-startundomark acDoc)
      (foreach obj1 oList
        (foreach obj2 (cdr oList)
          (setq Index 0)
          (if (setq IntPt (vlax-invoke obj1 'intersectwith obj2 acextendnone))
            (if (= (length IntPt) 3)
              (progn
               (setq pLst(_slashpt Intpt dist))
               (vlax-invoke acSpc 'addline  (car pLst)(cadr pLst))
               )
               (repeat (/ (length IntPt) 3)
                 (setq Pt (list (nth Index IntPt) (nth (1+ Index) IntPt) (nth (+ Index 2) IntPt)))
                 (setq pLst1(_slashpt pt dist))
                 (vlax-invoke acSpc 'addline  (car pLst1)(cadr pLst1))
                  (setq Index (+ Index 3))
               )
            )
          )
         )
       (setq oList (cdr oList))
      )
      (vla-endundomark acDoc)
    );progn
  )
  (princ)


)
(vl-load-com)
(prompt "n::[Inline]::")
(princ)

관련자료

댓글 0 / 1 페이지
등록된 댓글이 없습니다.
전체 7,416 / 360 페이지
RSS
번호
제목
이름
알림 0