프로그램
캐드 분류

원을 블록으로 바꾸는 리습입니다. 수정이 절실합니다.

컨텐츠 정보

본문

하기의 리습을 조금 수정하고 싶습니다.
예) 도면에 5파이, 8파이, 10파이 등의 파이가 있습니다.
이것을 선택하면
5파이는 E5블럭으로 , 8파이는 E8블럭으로, 10파이는 E10블럭으로 변경되는 리습으로 보완하고 싶습니다.
물론 도면내에 E5, E8,E10 의 블럭은 도면내에 지정되어 있는걸 가정합니다.
예로 세개의 파이를 예를 들었습니다만 더많은 파이가 있습니다.
첨부는 파이 상관없이 한개의 블럭으로 변경되는 리습입니다.

첨부를 하고 싶었습니다만, 첨부가 잘안되어 하기로 올립니다.
원을 블럭으로 , 포인트를 블럭으로 처리되는 리습인것 같은데 저한테는 
여러 파이의 원이 여러 블럭으로 처리되는 리습이면 충분합니다.

고수님들의 도움이 절실합니다.


 (defun c:c2b (/ ss ct len e eb bname pt echohold)
;(defun c:p2b (/ ss ct len e eb bname pt echohold)


;;;get command echo setting and store it
(setq echohold (getvar "CMDECHO"))


;;;set command echo off
(setvar "CMDECHO" 0)


;;;set attribute request off
(setvar "ATTREQ" 0)


;;;get name of block to insert
(setq bname (getstring "nBlock name: "))


;;;check that the block is defined in the current drawing
(if (tblsearch "block" bname)
(progn


;;;prompt for point selection
(princ "nSelect point objects:")


;;; — if point OR circle objects were selected —


 (if (setq ss (ssget '((0 . "CIRCLE"))))
;(if (setq ss (ssget '((0 . "POINT"))))


(progn


;;;walk through point objects
(setq len (sslength ss))
(setq ct 0)
(while (< ct len)


;;;for each point
(setq e (ssname ss ct))
(setq ct (+ ct 1))
(setq eb (entget e))
;;;get insert point
(setq pt (cdr (assoc 10 eb)))
;;;insert block
(command "_insert" bname pt "" "" "")
)
)
 (princ "nNo circle objects selected.")
;(princ "nNo point  objects selected.")
)
)
(princ "nInvalid, block not defined in drawing.")
)


;;;restore command echo setting to stored value
(setvar "CMDECHO" echohold)


;;;restore attribute request setting to stored value
(setvar "ATTREQ" 1)


(princ)
)


 

관련자료

댓글 5 / 1 페이지

무니미니님의 댓글

10파이의 원을 찾아 B10블럭으로 변경하라는 뜻으로 하기는 안되는건가요?? 물론 B10블럭은 도면내에 존재합니다.

(defun C:CTB() (setq ss (ssget "_x" '(-5 . "<=")(0 . "CIRCLE")(-5 . ">="))) (command "insert" "B10″"c" ss "" pause pause) (princ))

뭐가 문제일까요?? 공부하려고 해도 어렵네요~~~

무니미니님의 댓글

수야 12님 답변 감사합니다. 그런데 사이트 알려주신데에는 단지 파이만 블럭화 하는거네요~~~ 저는 제가 만들어놓은 블럭으로 변화되는것을 바라는것 입니다.

수야12님의 댓글

파이라면 radius가 아닌 diameter겠군요  my stake well-done  ㅎㅎ;; 

(defun c:c2b(/ ss e en a10 a40 bknm)

무니미니님의 댓글

수야12님

정말 감사드려요 꼭 원하는겁니다. 감사합니다. 올한해 좋은일만 가득하세요~~~~~~~~~~

전체 101 / 1 페이지
RSS
번호
제목
이름
알림 0