비밀번호를 잊으셨나요?

비밀번호를 잊으셨나요? 비밀번호를 재설정하려면 이메일 주소를 입력해주세요.

계정이 있나요? 로그인

You must login to ask a question.

비밀번호를 잊으셨나요?

아직 계정이 없으신가요? 회원가입 하기

해당 질문을 신고하는 이유를 간단히 입력해주세요.

해당 답변을 신고하는 이유를 간단히 입력해주세요.

해당 유저를 신고하는 이유를 간단히 입력해주세요.

로그인회원가입

고캐드 – 캐드(CAD) 정보의 중심

고캐드 – 캐드(CAD) 정보의 중심 Logo 고캐드 – 캐드(CAD) 정보의 중심 Logo

고캐드 – 캐드(CAD) 정보의 중심 Navigation

  • Q&A
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 커뮤니티
    • 오늘의이슈
    • 자유게시판
    • 익명게시판
    • 건의게시판
  • 자료실
    • 자료요청
    • 일반파일
    • 도면샘플
    • 유틸리티
    • 기타
  • 작품 갤러리
    • 그래픽
    • 캐드도면
    • 3D모델
    • 기타
  • 뉴스&이벤트
    • 공지사항
    • 뉴스
    • 전시/행사
    • 이벤트
    • 기타
검색
질문하기

Mobile menu

닫기
질문하기
  • 홈
  • 카테고리
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 투표
  • 커뮤니티 그룹
  • Q&A
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 커뮤니티
    • 오늘의이슈
    • 자유게시판
    • 익명게시판
    • 건의게시판
  • 자료실
    • 자료요청
    • 일반파일
    • 도면샘플
    • 유틸리티
    • 기타
  • 작품 갤러리
    • 그래픽
    • 캐드도면
    • 3D모델
    • 기타
  • 뉴스&이벤트
    • 공지사항
    • 뉴스
    • 전시/행사
    • 이벤트
    • 기타
홈/ 질문/Q 175459
다음
답변됨
구와와아아
구와와아아Lv.1
등록일: 2022-11-032022-11-03T14:34:43+09:00 2022-11-03T14:34:43+09:00카테고리: AutoCAD & CADian

리습 오류 ( 블록 이름 지시선 추출 )

리습 오류 ( 블록 이름 지시선 추출 )

블로그에서 배포한

” 블록 선택시, 지시선으로 이름 추출 ” 리습 입니다.

로드 하여 사용 하려하니 에러가 떠서

고수님들께 도움을 받고자 올려드립니다.

오류 내용 이미지로 첨부 합니다.

** 하기는 리습 입니다.

 

;;;;블럭이름 알려주는 지시선 리습

(defun c:blockname2text ( / bnt)

(setq bnt (getstring “nBlockName to Leader // Text(O)ne // Text(M)unti : “))

(if (or (eq bnt “”) (eq bnt “1”) (eq bnt “L”) (eq bnt “l”) (eq bnt nil)) (c:BlockNameLeader))

(if (or (eq bnt “2”) (eq bnt “O”) (eq bnt “0”)) (c:BlockNameText))

(if (or (eq bnt “3”) (eq bnt “M”) (eq bnt “m”)) (c:BlockNameTextM))

)

;********************************************

(defun c:BlockNameLeader ( / oldor ssent ent pt1 pt2 tx ttx htx latx stytx olddim oldTsty oldTgap olddtx dt01 TxtHeight ppw1 ppw2 vpw1 wx wy disxy)

;작업전정보저장

(setq oldtad (getvar “dimtad”)

olddtx (getvar “dimtxt”)

oldTsty (getvar “DIMTXSTY”)

olddim (getvar “dimscale”)

oldTgap (getvar “dimgap”)

oldor (getvar “orthomode”)

)

(setvar “osmode” 0)

(setvar “orthomode” 0)

;중간에 중지시 명령

(defun *error* ( msg )

(if (not (wcmatch (strcase msg t) “*break,*cancel*,*exit*”))

;설정복원

(progn

(setvar “dimtad” oldtad)

(setvar “dimtxt” olddtx)

(setvar “DIMTXSTY” oldTsty)

(setvar “dimscale” olddim)

(setvar “dimgap” oldTgap)

(setvar “osmode” 6647)

(setvar “orthomode” oldor))

(princ “nBlock on Leader Succes!!!! : “)

)

(princ)

)

;중간에 중지시 명령끝

;first block select

(prompt “n 지시선을 작성할 블록를 한개만 선택해주세요”)

(setq ssent (ssget “:S” (list (cons 0 “insert”)))) ;select

(while (eq ssent nil)

(prompt “n지시선을 작성 할 블럭을 한개만 선택해주세요”)

(setq ssent (ssget “:S” (list (cons 0 “insert”))))

)

​

(setq ent (ssname ssent 0)) ;entity 변환

(setq ssent nil) ;select defualt

​

;block size

(vla-GetBoundingBox (vlax-ename->vla-object ent) ‘MinPt ‘MaxPt)

(setq ppw1 (vlax-safearray->list MinPt)

ppw2 (vlax-safearray->list MaxPt)

​

vpw1 (list (car ppw2) (cadr ppw1));우하점

vpw2 (list (car ppw1) (cadr ppw2)) ;좌상점

​

wx (- (car ppw2) (car ppw1)) ;가로폭

wy (- (cadr ppw2) (cadr ppw1));높이

​

disxy (distance ppw1 ppw2);대각길이

txy (/ disxy 20);answkqldbf

);block sizeend

​

;블록정보추출

(setq tx (entget ent)

ttx (cdr (assoc 2 tx));text

latx (cdr (assoc 8 tx));layer

stytx oldTsty;text style

);블록정보추출끝

​

;txt size

(setq htx (getreal (strcat “nType Text Height !!! : 입니다”)))

(if (= htx nil) (setq htx (atof (rtos txy 2 0))))

​

;set

(setvar “DIMTXSTY” stytx) ;DIMTXTSTY 치수 문자 스타일을 지정

(setvar “dimtad” 1);지시선하단

(setvar “DIMTXT” 1) ; 문자높이

(setvar “DIMGAP” 0.1);지시선간격

(setvar “DIMLDRBLK” “OPEN30”) ;지시선 화살촉

(setvar “DIMASZ” 0.1) ;치수선과 지시선 화살촉의 크기를 조정

(setvar “DIMSCALE” (* htx 1));dimscale_문자로받아실수로변환

(setvar “DIMCLRD” 7) ;치수 보조선에 색상을 지정

(setvar “dimclrt” 3) ;치수 문자에 색상을 지정

​

;start leader

​

(setq pt1 (getpoint “n지시선 시작 포인터를 클릭하세요 : “))

(while (eq pt1 nil)

(setq pt1 (getpoint “n지시선 시작 포인터를 클릭하세요 : “))

)

(setq pt2 (getpoint pt1 “n지시선 시작 포인터를 클릭하세요 : “))

(command “-style” stytx “” 0.0 0.7 0.0 “no” “no” “no”)

(command “clayer” latx)

(command “leader” pt1 pt2 “a” ttx “”)

;2nd leader

(while (eq ssent nil)

(progn

(prompt “n 지시선을 작성할 블록를 한개만 선택해주세요 : 종료 “)

(setq ssent (ssget “:S” (list (cons 0 “insert”)))) ;select

(while (eq ssent nil)

(prompt “n선택오류~! 지시선을 작성 할 블럭을 한개만 선택해주세요 : 종료 “)

(setq ssent (ssget “:S” (list (cons 0 “insert”))))

)

​

(setq ent (ssname ssent 0) ;entity 변환

ssent nil) ;select defualt

​

(setq pt1 (getpoint “n지시선 시작 포인터를 클릭하세요 : “))

(while (eq pt1 nil)

(setq pt1 (getpoint “n지시선 시작 포인터를 클릭하세요 : “))

)

(setq pt2 (getpoint pt1 “n지시선 시작 포인터를 클릭하세요 : “))

​

;2nd블록정보추출

(setq tx (entget ent)

ttx (cdr (assoc 2 tx));text

latx (cdr (assoc 8 tx));layer

);2nd블록정보추출끝

(command “clayer” latx)

(command “leader” pt1 pt2 “a” ttx “”)

)

);while_end

(princ)

)

​

;;;;블럭이름 알려주는 리습

(defun c:BlockNameText (/ ent bls btx pt1)

(setq oldos (getvar “osmode”))

(setq oldort (getvar “orthomode”))

(setvar “osmode” 0)

(setvar “orthomode” 0)

(setq ent (car (entsel “nblock Select:”)))

(setq bls (entget ent))

(setq btx (cdr (assoc 2 bls)))

(setq pt1 (getpoint “nText Point : “))

(command “text” pt1 “” “” btx)

​

(setvar “osmode” oldos)

(setvar “orthomode” oldort)

(princ)

)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;end

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

​

​

(defun c:BlockNameTextM (/ ss ss1 btx pt1 ent n MinPt01 MaxPt01 rightbot lefttop righttop leftbot midPt wx wy tsize pt )

(prompt “이름을 표시할 블록를 선택해주세요!! “)

(setq ss (ssget (list (cons 0 “insert”)))) ;select

(setq pt (getstring “n좌상(LT)//좌하(LB)//우상(RT)

n//우하(RB)//중심(MC) : “))

(setq tsize (getdist (strcat “n문자 기본값:블럭의1/20” )))

​

(setq ss1 ss) ;ss 교체

(setq ss nil) ;ss값없애기

(setq n 0) ;numbering

(repeat (sslength ss1) ;반복작업

(setq ent (ssname ss1 n))

(vla-GetBoundingBox (vlax-ename->vla-object ent) ‘MinPt ‘MaxPt)

​

(setq MinPt01 (vlax-safearray->list MinPt)

MaxPt01 (vlax-safearray->list MaxPt)

rightbot (list (car MaxPt01) (cadr MinPt01) (max (caddr MinPt01) (caddr MaxPt01))) ;우하점

lefttop (list (car MinPt01) (cadr MaxPt01) (max (caddr MinPt01) (caddr MaxPt01))) ;좌상점

righttop (list (car MaxPt01) (cadr MaxPt01) (max (caddr MinPt01) (caddr MaxPt01))) ;우상점

leftbot (list (car MinPt01) (cadr MinPt01) (max (caddr MinPt01) (caddr MaxPt01))) ;좌하점

midPt (list (/ (+ (car MaxPt01) (car MinPt01)) 2)

(/ (+ (cadr MaxPt01) (cadr MinPt01)) 2)

(max (caddr MinPt01) (caddr MaxPt01)))

wx (- (car MaxPt01) (car MinPt01)) ;가로폭

wy (- (cadr MaxPt01) (cadr MinPt01)) ) ;높이

(setq btx (entget ent)) ;entityname 배열

(setq btx (cdr (assoc 2 btx))) ;entityname 배열가져오기

(setq pt pt) ;위치변경 선택

(if (or (eq pt “LT”) (eq pt “lt”)) (setq pt1 lefttop))

(if (or (eq pt “LB”) (eq pt “LT”)) (setq pt1 leftbot))

(if (or (eq pt “RT”) (eq pt “rt”)) (setq pt1 righttop))

(if (or (eq pt “RB”) (eq pt “rb”)) (setq pt1 rightbot))

(if (or (eq pt “MC”) (eq pt “mc”) (eq pt “”) (eq pt nil)) (setq pt1 midPt))

(setq tsize tsize) ; 문자사이즈입력받기

(if (eq tsize nil) (setq tsize (/ wy 10)))

​

(command “text” “j” “mc” pt1 tsize 0 btx)

(setq n (1+ n)); 반복횟수

​

)

(princ “nBlockName to Success!!!”)

(princ)

)

[출처] [리습] 블럭이름 알려주는 3종 리습 (철제모 [ 철구조물제작의모든것 ]) | 작성자 철구조물제작절대고수

리습리습 오류블록 이름블록 이름 지시선블록 이름 추출
  • 0
  • 8 8 답변
  • 287 조회
공유
  • Facebook

    관련 있는 질문들

    • 캐드에서 복사해서 방향 옮길때 다른방향으로 가요.
    • 캐드에서 복사해서 방향 옮길때 다른방향으로 가요.
    • FAQ 51을 참조 하라는데 FAQ가 어디에 있나요??
    • jsk.shx 파일 받을 부탁드립니다 ㅠ

    답변을 남겨주세요
    응답 취소

    답변을 등록하기 위해서는 로그인이 필요합니다.

    비밀번호를 잊으셨나요?

    아직 계정이 없으신가요? 회원가입 하기

    8 답변

    • 작성 순
    • 최신 순
    • 공감 순
    1. aalan
    2. 베스트 답변
      수야12 Lv.21
      2022-11-03T21:23:39+09:00답변 등록 답변 등록 일시 2022-11-03 9:23 pm

      저는 일단 리습을 실행해보고 오류를 찾는 스타일이라서 그런데 이거 원본 볼 수 있는 블로그 링크좀 걸어주실래요
      검색해보니 블로그가 아니라 카페가 나오는데 이거 확인하려고 가입하기는 싫어서요
      왜 이게시물 복사붙혀넣기 안하냐고 물으신다면 코드 게시글에 대한 공지사항 한번 읽어보시고요 ㅎㅎ;;

      • 1
      • 댓글 달기
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
      • 구와와아아 Lv.1
        2022-11-07T16:42:29+09:00에게 댓글을 달았습니다. 답변 등록 일시 2022-11-07 4:42 pm

        수야님 안녕하세요

        출처 관련 해서 답글 드립니다.

        답변이 늦어져 죄송합니다 ^^;

        https://cafe.naver.com/seeun98/1272

        • 0
        • 댓글 달기
        • 공유
          공유
          • 공유 Facebook
          • 공유 Twitter
        • 수야12 Lv.21
          2022-11-08T09:05:05+09:00에게 댓글을 달았습니다. 답변 등록 일시 2022-11-08 9:05 am

          카페 게시글 복사 붙혀넣기 하셨나봐요??
          게시글 복사 붙혀넣기 과정에서 이상한 문자들이 추가 되서 그럽니다 제 컴퓨터에서는 물음표가 추가 됐네요
          구문이 긴 리습은 복사붙혀넣기하시기가 불편하니메일 알려주시면 이상한 문자 제거한 정상 리습 보내드릴께요

          • 0
          • 댓글 달기
          • 공유
            공유
            • 공유 Facebook
            • 공유 Twitter
          • 구와와아아 Lv.1
            2022-11-10T09:34:29+09:00에게 댓글을 달았습니다. 답변 등록 일시 2022-11-10 9:34 am

            수야님 매번 답변이 느려 죄송합니다 ^^;;
            업무에 치여 살다보니 …

            메일 주소 남겨드립니다.

            jth958@naver.com

            오늘 하루도 좋은 하루 되십시오 ^^

            • 0
            • 댓글 달기
            • 공유
              공유
              • 공유 Facebook
              • 공유 Twitter
    3. 고개발 Master
      2022-11-03T21:31:40+09:00답변 등록 답변 등록 일시 2022-11-03 9:31 pm
      (수정됨)

      에디터 텍스트 탭 선택 후

      <code>

      Lisp Code 넣어주세요

      </code>

       

      에디터 개선해보도록 노력할께요~~

      불편하신 점 있으시면,  좌측 그룹메뉴에 “고개발 연구소”에 의견 남겨주세요~~^^

      속도는 최대한 빠른 시일내로 개선해보도록 하겠습니다!!

      • 0
      • 댓글 달기
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
      • 구와와아아 Lv.1
        2022-11-07T16:51:39+09:00에게 댓글을 달았습니다. 답변 등록 일시 2022-11-07 4:51 pm

        마스터님

        현재 글 수정하려니

        글이 전부 깨집니다.

        추후에 질문 또는 답글 할 시

        표기 하도록 하겠습니다.

        • 0
        • 댓글 달기
        • 공유
          공유
          • 공유 Facebook
          • 공유 Twitter
        • 고개발 Master
          2022-11-07T16:54:40+09:00에게 댓글을 달았습니다. 답변 등록 일시 2022-11-07 4:54 pm

          확인했습니다. ㅠㅠ
          관련된 문제는 최대한 빠르게 수정해 보도록 할께요 ㅠㅠ
          아래 댓글로 문의하신 코드 넣었습니다.

          • 0
          • 댓글 달기
          • 공유
            공유
            • 공유 Facebook
            • 공유 Twitter
    4. 고개발 Master
      2022-11-07T16:52:35+09:00답변 등록 답변 등록 일시 2022-11-07 4:52 pm
      (수정됨)


      (defun c:blockname2text ( / bnt)
      (setq bnt (getstring "nBlockName to Leader // Text(O)ne // Text(M)unti : "))
      (if (or (eq bnt "") (eq bnt "1") (eq bnt "L") (eq bnt "l") (eq bnt nil)) (c:BlockNameLeader))
      (if (or (eq bnt "2") (eq bnt "O") (eq bnt "0")) (c:BlockNameText))
      (if (or (eq bnt "3") (eq bnt "M") (eq bnt "m")) (c:BlockNameTextM))
      )
      ;********************************************
      (defun c:BlockNameLeader ( / oldor ssent ent pt1 pt2 tx ttx htx latx stytx olddim oldTsty oldTgap olddtx dt01 TxtHeight ppw1 ppw2 vpw1 wx wy disxy)
      ;작업전정보저장
      (setq oldtad (getvar "dimtad")
      olddtx (getvar "dimtxt")
      oldTsty (getvar "DIMTXSTY")
      olddim (getvar "dimscale")
      oldTgap (getvar "dimgap")
      oldor (getvar "orthomode")
      )
      (setvar "osmode" 0)
      (setvar "orthomode" 0)
      ;중간에 중지시 명령
      (defun *error* ( msg )
      (if (not (wcmatch (strcase msg t) "*break,*cancel*,*exit*"))
      ;설정복원
      (progn
      (setvar "dimtad" oldtad)
      (setvar "dimtxt" olddtx)
      (setvar "DIMTXSTY" oldTsty)
      (setvar "dimscale" olddim)
      (setvar "dimgap" oldTgap)
      (setvar "osmode" 6647)
      (setvar "orthomode" oldor))
      (princ "nBlock on Leader Succes!!!! : ")
      )
      (princ)
      )
      ;중간에 중지시 명령끝
      ;first block select
      (prompt "n 지시선을 작성할 블록를 한개만 선택해주세요")
      (setq ssent (ssget ":S" (list (cons 0 "insert")))) ;select
      (while (eq ssent nil)
      (prompt "n지시선을 작성 할 블럭을 한개만 선택해주세요")
      (setq ssent (ssget ":S" (list (cons 0 "insert"))))
      )
      (setq ent (ssname ssent 0)) ;entity 변환
      (setq ssent nil) ;select defualt
      ;block size
      (vla-GetBoundingBox (vlax-ename->vla-object ent) 'MinPt 'MaxPt)
      (setq ppw1 (vlax-safearray->list MinPt)
      ppw2 (vlax-safearray->list MaxPt)
      vpw1 (list (car ppw2) (cadr ppw1));우하점
      vpw2 (list (car ppw1) (cadr ppw2)) ;좌상점
      wx (- (car ppw2) (car ppw1)) ;가로폭
      wy (- (cadr ppw2) (cadr ppw1));높이
      disxy (distance ppw1 ppw2);대각길이
      txy (/ disxy 20);answkqldbf
      );block sizeend
      ;블록정보추출
      (setq tx (entget ent)
      ttx (cdr (assoc 2 tx));text
      latx (cdr (assoc 8 tx));layer
      stytx oldTsty;text style
      );블록정보추출끝
      ;txt size
      (setq htx (getreal (strcat "nType Text Height !!! : 입니다")))
      (if (= htx nil) (setq htx (atof (rtos txy 2 0))))
      ;set
      (setvar "DIMTXSTY" stytx) ;DIMTXTSTY 치수 문자 스타일을 지정
      (setvar "dimtad" 1);지시선하단
      (setvar "DIMTXT" 1) ; 문자높이
      (setvar "DIMGAP" 0.1);지시선간격
      (setvar "DIMLDRBLK" "OPEN30") ;지시선 화살촉
      (setvar "DIMASZ" 0.1) ;치수선과 지시선 화살촉의 크기를 조정
      (setvar "DIMSCALE" (* htx 1));dimscale_문자로받아실수로변환
      (setvar "DIMCLRD" 7) ;치수 보조선에 색상을 지정
      (setvar "dimclrt" 3) ;치수 문자에 색상을 지정
      ;start leader
      (setq pt1 (getpoint "n지시선 시작 포인터를 클릭하세요 : "))
      (while (eq pt1 nil)
      (setq pt1 (getpoint "n지시선 시작 포인터를 클릭하세요 : "))
      )
      (setq pt2 (getpoint pt1 "n지시선 시작 포인터를 클릭하세요 : "))
      (command "-style" stytx "" 0.0 0.7 0.0 "no" "no" "no")
      (command "clayer" latx)
      (command "leader" pt1 pt2 "a" ttx "")
      ;2nd leader
      (while (eq ssent nil)
      (progn
      (prompt "n 지시선을 작성할 블록를 한개만 선택해주세요 : 종료 ")
      (setq ssent (ssget ":S" (list (cons 0 "insert")))) ;select
      (while (eq ssent nil)
      (prompt "n선택오류~! 지시선을 작성 할 블럭을 한개만 선택해주세요 : 종료 ")
      (setq ssent (ssget ":S" (list (cons 0 "insert"))))
      )
      (setq ent (ssname ssent 0) ;entity 변환
      ssent nil) ;select defualt
      (setq pt1 (getpoint "n지시선 시작 포인터를 클릭하세요 : "))
      (while (eq pt1 nil)
      (setq pt1 (getpoint "n지시선 시작 포인터를 클릭하세요 : "))
      )
      (setq pt2 (getpoint pt1 "n지시선 시작 포인터를 클릭하세요 : "))
      ;2nd블록정보추출
      (setq tx (entget ent)
      ttx (cdr (assoc 2 tx));text
      latx (cdr (assoc 8 tx));layer
      );2nd블록정보추출끝
      (command "clayer" latx)
      (command "leader" pt1 pt2 "a" ttx "")
      )
      );while_end
      (princ)
      )
      ;;;;블럭이름 알려주는 리습
      (defun c:BlockNameText (/ ent bls btx pt1)
      (setq oldos (getvar "osmode"))
      (setq oldort (getvar "orthomode"))
      (setvar "osmode" 0)
      (setvar "orthomode" 0)
      (setq ent (car (entsel "nblock Select:")))
      (setq bls (entget ent))
      (setq btx (cdr (assoc 2 bls)))
      (setq pt1 (getpoint "nText Point : "))
      (command "text" pt1 "" "" btx)
      (setvar "osmode" oldos)
      (setvar "orthomode" oldort)
      (princ)
      )
      ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      ;;;;;;;;end
      ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      (defun c:BlockNameTextM (/ ss ss1 btx pt1 ent n MinPt01 MaxPt01 rightbot lefttop righttop leftbot midPt wx wy tsize pt )
      (prompt "이름을 표시할 블록를 선택해주세요!! ")
      (setq ss (ssget (list (cons 0 "insert")))) ;select
      (setq pt (getstring "n좌상(LT)//좌하(LB)//우상(RT)
      n//우하(RB)//중심(MC) : "))
      (setq tsize (getdist (strcat "n문자 기본값:블럭의1/20" )))
      (setq ss1 ss) ;ss 교체
      (setq ss nil) ;ss값없애기
      (setq n 0) ;numbering
      (repeat (sslength ss1) ;반복작업
      (setq ent (ssname ss1 n))
      (vla-GetBoundingBox (vlax-ename->vla-object ent) 'MinPt 'MaxPt)
      (setq MinPt01 (vlax-safearray->list MinPt)
      MaxPt01 (vlax-safearray->list MaxPt)
      rightbot (list (car MaxPt01) (cadr MinPt01) (max (caddr MinPt01) (caddr MaxPt01))) ;우하점
      lefttop (list (car MinPt01) (cadr MaxPt01) (max (caddr MinPt01) (caddr MaxPt01))) ;좌상점
      righttop (list (car MaxPt01) (cadr MaxPt01) (max (caddr MinPt01) (caddr MaxPt01))) ;우상점
      leftbot (list (car MinPt01) (cadr MinPt01) (max (caddr MinPt01) (caddr MaxPt01))) ;좌하점
      midPt (list (/ (+ (car MaxPt01) (car MinPt01)) 2)
      (/ (+ (cadr MaxPt01) (cadr MinPt01)) 2)
      (max (caddr MinPt01) (caddr MaxPt01)))
      wx (- (car MaxPt01) (car MinPt01)) ;가로폭
      wy (- (cadr MaxPt01) (cadr MinPt01)) ) ;높이
      (setq btx (entget ent)) ;entityname 배열
      (setq btx (cdr (assoc 2 btx))) ;entityname 배열가져오기
      (setq pt pt) ;위치변경 선택
      (if (or (eq pt "LT") (eq pt "lt")) (setq pt1 lefttop))
      (if (or (eq pt "LB") (eq pt "LT")) (setq pt1 leftbot))
      (if (or (eq pt "RT") (eq pt "rt")) (setq pt1 righttop))
      (if (or (eq pt "RB") (eq pt "rb")) (setq pt1 rightbot))
      (if (or (eq pt "MC") (eq pt "mc") (eq pt "") (eq pt nil)) (setq pt1 midPt))
      (setq tsize tsize) ; 문자사이즈입력받기
      (if (eq tsize nil) (setq tsize (/ wy 10)))
      (command "text" "j" "mc" pt1 tsize 0 btx)
      (setq n (1+ n)); 반복횟수
      )
      (princ "nBlockName to Success!!!")
      (princ)
      )

      • 0
      • 댓글 달기
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter

    Sidebar

    질문하기
    공지사항

    • AI CAD의 미래! 캐디안 2025 1+1 프로모션 안내 2025-05-14

    Adv 234x60

    aalan

    Adv 234x60

    aalan

    Adv 120x600

    aalan

    Explore

    • 홈
    • 카테고리
      • AutoCAD & CADian
      • Inventor & Solidworks
      • Revit & ArchiCAD
      • 자유질문
      • 기타
    • 투표
    • 커뮤니티 그룹
    aalan

    Footer

    Support

    • 회사 및 서비스 소개
    • 자주 묻는 질문
    • 문의하기

    Guide

    • 제휴/협업 안내
    • 광고 서비스 안내

    Policy

    • 서비스 이용약관
    • 개인정보 처리방침
    • 광고성 정보 수신 동의

    Contents

    • 고밍스토리
    • 리습 시리즈

    정소프트 | 사업자등록번호 : 677-40-00198 | 대표 : 정은숙 | 이메일 : gocad.manager@gmail.com
    주소 : 서울특별시 강서구 양천로 400-12, 6층 614,615,617호(등촌동, 더리브골드타워)
    Copyright. 2012-2024 GOCAD All rights reserved

    링크 삽입/편집

    대상 URL을 입력하세요

    또는 기존의 콘텐츠에 링크

      검색어가 지정되지 않았습니다. 최근 항목 표시 검색하거나 위와 아래 화살키를 이용하여 항목을 선택하세요.