프로그램
캐드 분류

리습이 적용이 안됩니다 뭐가 문제일까요..

컨텐츠 정보

  • 190 조회
  • 1 댓글
  • 0 추천
  • 0 비추천
  • 목록

본문

양쪽 끝단 얼마씩 남기고 중간 짜르는 리습이라고 얻었는데

리습 적용이 안되네요.. 뭐가 문제인지 모르겠습니다..
(defun c:test( / sl-mapcar-ens ss)
 (defun sl-mapcar-ens (func ss) (mapcar func (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))))
 (princ "n선 양끝 남기기")
 (and
  (setq ss (ssget '((0 . "LINE"))))  
  (or *dis* (setq *dis* 20))
  (setq *dis* (cond ((getdist (strcat "n남길 길이 입력 <" (vl-princ-to-string *dis*) ">:"))) (*dis*)))  
  (sl-mapcar-ens
   '(lambda (en / ent1 len ep ent2 sp)    
    (setq ent1 (entget en) len (vlax-curve-getdistatparam en (vlax-curve-getendparam en)))    
    (if (> len *dis*)
     (progn
      (setq ep (vlax-curve-getpointatdist en *dis*) sp (vlax-curve-getpointatdist en (- len *dis*)))
      (setq nen (entmakex (vl-remove '(lambda (-1 5)) (entget en))) ent2 (entget nen))     
      (entmod (subst (cons 10 sp) (assoc 10 ent1) ent1))
      (entmod (subst (cons 11 ep) (assoc 11 ent2) ent2))
     )
     (princ "n입력한 길이보다 선이 짧습니다.")
    )
   )
   ss
  )
 )
 (princ)
)

관련자료

댓글 1 / 1 페이지
전체 6,913 / 11 페이지
번호
제목
이름
알림 0