프로그램
캐드 분류

리습 수정좀 부탁드립니다 ㅠㅠㅠ제발요

컨텐츠 정보

  • 417 조회
  • 2 댓글
  • 0 추천
  • 0 비추천
  • 목록

본문

“마젠타색 폴리라인의 시작점과 끝점에 잡히는 폴리라인 끊고, 버텍스 끝점 이동” 하는 리습인데 잘 돌아갔었는데 캐드2020에서 안돌아갑니다.

이런 오류가 나면서 점을 못갖고 오는거같은데 제발 수정 부탁드립니다ㅠㅠ


명령: FSS
객체 선택: 반대 구석 지정: 4개를 찾음
객체 선택:
유효하지 않은 점.
유효하지 않은 점.
; 오류: 기능을 취소함


 

;마젠타색 폴리라인의 시작점과 끝점에 잡히는 폴리라인 끊고, 버텍스 끝점 이동
(defun c:fww(/ getentbldefn)
(setq orios (getvar “osmode”))
(setvar “osmode” 0)
(setq view0 (getvar “viewctr”))
(setq view1 (getvar “viewsize”))
(setq ss (ssget ‘((0 . “*polyline”)(62 . 6))))
(if (/= ss nil)
(progn
(command “undo” “be”)
(setq sslen (sslength ss))
(setq i 0)
(repeat sslen
(setq ss_name (ssname ss i))
(setq pt (vlax-curve-getstartpoint (vlax-ename->vla-object ss_name))) ;시작점
(setq x1 (car pt))
(setq y1 (cadr pt))
(setq x11 (- x1 0.2))
(setq y11 (- y1 0.2))
(setq x22 (+ x1 0.2))
(setq y22 (+ y1 0.2))
(setq pt1 (list x11 y11))
(setq pt2 (list x22 y22))

(setq pt3 (vlax-curve-getendpoint (vlax-ename->vla-object ss_name))) ;폴리라인의 마지막점
(setq x3 (car pt3))
(setq y3 (cadr pt3))
(setq x33 (- x3 0.2))
(setq y33 (- y3 0.2))
(setq x44 (+ x3 0.2))
(setq y44 (+ y3 0.2))
(setq pt4 (list x33 y33))
(setq pt5 (list x44 y44))

(command “zoom” “c” pt “10”)
(setq ss2 (ssget “c” pt1 pt2 ‘((0 . “*polyline”)(62 . 256))))
(if (/= ss2 nil)
(progn
(setq sn (ssname ss2 0))
(setq getentbldefn (MAP:GetEnTableDefn sn))
(setq xy1 (vlax-curve-getClosestPointTo (vlax-ename->vla-object sn) pt))
(vl-cmdf “_.break” sn “f” xy1 “@”)

(setq e1 (entlast))
(if (/= getentbldefn nil)
(progn
(MAP:SetEnTableDefn e1 getentbldefn) ;끊어진 마지막 객체에 OD 물려줌.
(setq getentbldefn nil)
))
(command “stretch” (ssget “c” pt1 pt2 ‘((0 . “*polyline”)(62 . 256))) “” xy1 pt)
))

(command “zoom” “c” pt3 “10”)
(setq ss2 (ssget “c” pt4 pt5 ‘((0 . “*polyline”)(62 . 256))))
(if (/= ss2 nil)
(progn
(setq sn (ssname ss2 0))
(setq getentbldefn (MAP:GetEnTableDefn sn))
(setq xy2 (vlax-curve-getClosestPointTo (vlax-ename->vla-object sn) pt3))
(vl-cmdf “_.break” sn “f” xy2 “@”)
(setq e1 (entlast))
(if (/= getentbldefn nil)
(progn
(MAP:SetEnTableDefn e1 getentbldefn) ;끊어진 마지막 객체에 OD 물려줌.
(setq getentbldefn nil)
))
(command “stretch” (ssget “c” pt4 pt5 ‘((0 . “*polyline”)(62 . 256))) “” xy2 pt3)
))
(setq i (+ i 1))
)))
(command “zoom” “c” view0 view1)
(setvar “osmode” orios)
(command “undo” “e”)
(princ “\n~~~선택한 마젠타색 폴리라인 양 끝점에 bylayer색 폴리라인 끊기 완료~~~”)
(princ)
)

 

autocad
리습
리습수정

관련자료

댓글 2 / 1 페이지

캐드플러스님의 댓글

프로그램은 잘 됩니다. 프로그램에 특별히 수정한 것은 없습니다. 첨부 그림처럼 ” 쌍따움표가 잘못 되었습니다. 매그니에 리습 소스를 복사해서 사용할때는 조심해야 합니다. 첨부 파일은 괜찮은데….리습 소스를 복사해서 사용하면 1Byte 쌍따움표가 2Byte 쌍따움표로 변환되는 경우가 있어요. 첨부 그림처럼 자세히 보면 쌍따움표가 다릅니다. 그 부분이 어디에 올지도 모릅니다.

FWW

전체 7,492 / 1 페이지
RSS
번호
제목
이름

최근글


새댓글


알림 0