프로그램
캐드 분류

말풍선 리습입니다. 첨부와 같이 수정될까요?

컨텐츠 정보

  • 472 조회
  • 13 댓글
  • 0 추천
  • 0 비추천
  • 목록

본문

또한번 요청하고 싶은 리습이 있어서 올려봅니다.
하기는 고캐드 검색하다가 언제나 도움 주시는 수야12님이 올려주신 말풍선 리습니다.
첨부의 링크와 같이 수정할수 있을지 백방 찾아 봤는데 찾을수가 없어서 이렇게 도움의 손길을 뻗어봅니다.
첨부 링크 확인 부탁합니다.
https://blog.naver.com/flashame/222347893244
원하는 내용은 링크부의 오른쪽의 결과치를 얻고 싶습니다.

1) 위의숫자 1~4는 기존 리습과 같이 증가하는 숫자
2) 아래의 숫자 000은 항상동일하게 문제 없습니다.(경우에 따라 수정해서 사용합니다.)
3) 문자 색상은 흰색으로 원합니다.
4) 현재 UCS / WORLD 에서만 정상 작동하는데 ORIGIN 상태에서도 작동했으면 하는 희망이 있습니다.

하기는 리습니다.

(defun c:cvv(/ *error* _Donut _Line _Circle _Text  _Text_Style  v1 ov sc dr sp ep cp txh r2  txst)(vl-load-com)
 ;->*error* start ————————————————————  
 (defun *error* (msg)(princ "nerror:")(princ msg)
  (mapcar 'setvar vL ov)
 (princ) )
;-<*error* end ————————————————————–


 ;;;————————————-
 ;;; SUB function
 ;;;————————————-
(defun _Donut (sp r / i w p)
(setq i 0.1)
(setq w (* (- r i) 0.5)
      p (+ (* i 0.5) (* w 0.5)))


 (entmake (list (cons 0 "POLYLINE")
                (cons 62 1)
                (cons 66 1)
                (cons 10 sp)
                (cons 70 1)
                (cons 40 w)
                (cons 41 w)))
 (entmake (list (cons 0 "VERTEX")
                (cons 10 (list (- (car sp) p) (cadr sp) (caddr sp)))
                (cons 40 w)
                (cons 41 w)
                (cons 42 1)))
 (entmake (list (cons 0 "VERTEX")
                (cons 10 (list (+ (car sp) p) (cadr sp) (caddr sp)))
                (cons 40 w)
                (cons 41 w)
                (cons 42 1)))
 (entmake (list (cons 0 "SEQEND"))))
 
 (defun _Text_Style ()
   (entmake
      (list
           '(0 . "STYLE")
           '(100 . "AcDbSymbolTableRecord")
           '(100 . "AcDbTextStyleTableRecord")
           (cons 2  "LYS") ;;Style name
           '(70 . 0) ;;Standard flag values (bit-coded values)
           (cons 40 0) ;;text height
           '(41 . 1.0) ;;width factor
           '(50 . 0.0) ;;oblique angle
           '(71 . 0) ;;text generation "0″ normal text
           '(42 . 0) ;;last height used
           '(3 . "romans.shx") ;;font file name
           '(4 . "whgtxt.shx") ;;bigfont
      )
   )
)
(defun _Line (p1 p2)
  (entmake (list (cons 0 "LINE")
                  (cons 10 p1)
                  (cons 11 p2)
                  (cons 62 1))
  )

 (defun _Text (pt tx txh)
  (entmakex (list
                  (cons 0 "TEXT")
                  (cons 10 pt)
                  (cons 40 txh)
                  (cons 1 tx)
                  (cons 7 "LYS")
                  (cons 62 3)
                  (cons 72 1)
                  (cons 73 2)
                  (cons 11 pt)
                 )
  )
 )
 (defun _Circle (cen rad)
  (entmakex (list (cons 0 "CIRCLE")
                  (cons 10 cen)
                  (cons 40  rad )
                  (cons 62 1) )
  )  

 
:—————————————-
;; MAIN function
;—————————————
 (setq vL '("osmode" "cmdecho" "orthomode"))
 (setq ov (mapcar 'getvar vL))
 (mapcar  'setvar  vL '(0 0 0))
 
 (if(null (tblsearch "style" "LYS"))
   (_Text_Style )
  )


 (setq sc(getvar 'dimscale))
 (setq sc(+ sc 2)) ; 딤스케일1일때 기본 문자 크기는 10mm 입니다 .
 (setq dr (* 1.5 sc)txh (* 4 sc)r2( * txh 1.35)) ;<= dr 도넛의크기 txh 문자의크기 r2 원의크기입니다.
 
 (setq sp(getpoint "nStart point:"))
 (setq ep(getpoint  sp "n End point:"))
 (setq cp(polar ep (angle sp ep) r2))
  (or tx (setq tx 1))
 
  (setq tx
   (cond
    ((getint(strcat "n Number <"(vl-princ-to-string tx)">:")))
    (tx)
   )
  )
 
 (_Donut sp  dr)
 (_Line sp ep)
 (_Circle cp r2)
 (_Text cp(itoa tx) txh)
 
 (setq tx(1+ tx))
  (mapcar 'setvar v1 ov)
 (princ)
)
(princ "n :: 풍선기호 작성 [CV] ::")(princ)

관련자료

댓글 13 / 1 페이지

무니미니님의 댓글

CATS 님 답변 감사합니다. 어떻게 사용하면 되는건가요??  리습이외에는 무지인 상태여서 공유 가능하다면 방법좀 알려 주세요… 또한,  이글을 보시는 고수님들 리습으로는 구현 힘들까요??  회사에서 사용하는 버전이 하위 버전이어서 하위버전에서도 사용가능한 LSP, VLX파일이면 좋을듯 한데요~~~~~~~~~ 고수님들 부탁드려요~~

무니미니님의 댓글

CATS 님  답변에 감사드리긴 한데요!!!! 본 카페에 기능설명에 대한 얘기는 다간 상태이고요~~~~~~~~~~ 또한 저의 짧은 생각으로는 여기 고캐드(수야12님)에서 얻은 리습을 보완하고 싶어서인데 다른 카페에 제욕심만 채우려고 그리한다는게 조금 예의상 문제가 있어 보이는데요~~~ 수년간 고캐드 이용잘하고 있는 한사람으로서 운영자님들께 죄송스럽기도 하고요~~~~ 고캐드 고수 운영자님들 저의 문제 해결해 주실분은 안계신가요????

자유천지님의 댓글

 (setq dr (* 1.5 sc)txh (* 4 sc)r2( * txh 1.35)) ;<= dr 도넛의크기 txh 문자의크기 r2 원의크기입니다.   (setq dr (* 1.5 sc)txh (* 2 sc)r2( * txh 1.35)) ;<= txh 문자의크기를 반으로 줄이시고 (_Donut sp  dr)  (_Line sp ep)  (_Circle cp r2)  (_Text cp(itoa tx) txh) 구문을 (_Donut sp  dr)  (_Line sp ep)  (_Line (polar cp 0 r2)   (polar cp  pi  r2)) ;;중간 수평선 추가  (_Circle cp r2)  ;;(_Text cp(itoa tx) txh) 삭제 (_Text   (polar  cp (*  0.5  pi)   txh)  (itoa tx) txh) ;; 추가 –> 적색부분 txh가 원 중심에서 글자 간격 (_Text   (polar  cp (*  1.5  pi)   txh)  "000″ txh) ;; 추가 –> 적색부분 txh가 원 중심에서 글자 간격

무니미니님의 댓글

자유천지님  감사드려요  덕분에 원하는 해답을 찾았습니다. 조금만 보완 한다면 글씨 색을 흰색으로 하고 싶고 아래글씨 Width factor값을 현재 1.0에서 0.7로 바꾸고 싶은데 가능할까요?? 한번만 더 어드바이스 부탁드립니다. 잘사용하겠습니다. 좋은일만 가득하세요~~~

CATS_Developer님의 댓글

네. 저는 리습은 만들줄 몰라서 다른 방법으로 도움을 드리고자 했었습니다 ㅎㅎ

댓글이 없길래 저도 조심스럽게 댓글 남겨드려봤었네요~

자유천지님의 댓글

(defun _Text (pt tx txh col  wid) ;; 변경   (entmakex (list                   (cons 0 "TEXT")                   (cons 10 pt)                   (cons 40 txh)                   (cons 41 wid) ;;추가                   (cons 1 tx)                   (cons 7 "LYS")                   (cons 62 col) ;; 변경                   (cons 72 1)                   (cons 73 2)                   (cons 11 pt)                  )   )  )

그리고 (_Text   (polar  cp (*  0.5  pi)   txh)  (itoa tx) txh 7 0.7) ;; 추가 7-> 흰색, 0.7 -> width factor (_Text   (polar  cp (*  1.5  pi)   txh)  "000″ txh 7 0.7) ;; 추가

무니미니님의 댓글

자유천지님 덕분에 잘 해결했습니다. 좋은 하루 되시고 즐거운 주말 보내세요~~~~~~~~~~~ 감사합니다.

무니미니님의 댓글

cats 님 아닙니다. 감사합니다. 저또한 리습에는 전혀 무지한 지라~~~~ 호의 감사드리고 다음에 기회있을때 도움 부탁드립니다. 본건은 자유천지님 도움으로 잘해결했습니다. 즐거운 주말 보내세요~~~~~~

무니미니님의 댓글

자유천지님 바쁘신 와중에 죄송합니다. 이문제를 해결하고 나니 조금 욕심이 생기네요~~ 첫번째 증감은 1,2,3 에서 01,02,03으로도 가능할것 같은데요?? 그리고 또한개 2번째 "000″ 을 필요에 따라서 변경하게끔 타이핑 할수 있게끔도 가능할까요?? 예를들면 CAC , COC ,SLC 등으로요~~~~~~ 의도 하는게 COC01, COC02, COC03……… CAC01, CAC02,CAC03………이런식으로 사용하고 싶습니다.

자유천지님의 댓글

질문이 꼬리를 무는군요.. 답글다는 사람들이 제일 싫어하는게 꼬리를 무는 질문입니다. 답글다는 머슴도 아니고 계속 답글 달아줄 의무는 더더욱 없습니다. 질문의 의도를 확실히 한번에 끝내도록 하는게 좋습니다. 마지막 질문도 가능하지만 더욱 알고리즘이 복잡해집니다. 배우고자 하시기에 답글을 달아준거 뿐입니다. 무니미니님은 꼬리를 무는 질문을 하시는분으로 인식되어서 어느누구도 답글을 달려고 나서는 사람들이 적어질것입니다. 저 또한 업무를 해결해주기위한 답글이 아니었으므로 앞으로 질문은 사양합니다.

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

최근글


새댓글


알림 0