비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 113698
다음
Lv.0
등록일: 2022-03-292022-03-29T13:06:24+09:00 2022-03-29T13:06:24+09:00카테고리: AutoCAD & CADian

캐디안 리습 변경 해주세요…ㅜㅜ

캐드에서 사용 도면 합치기 리습이 캐디안에서는 원점을 기준으로 합쳐져서 수정해주실 능력자분 있으실까요???

(defun c:HH( / typ )(vl-load-com)
    ;;===========================================
    ;;              Sub-01 Function              
    ;;===========================================
    (defun PTE:form-01 ( / a b sc )
        (if (not(tblsearch “block” “pte-form-block”))
            (PTE:make-block 1)
        )
        (while (setq a(car(entsel “n 도면의 가장아래라인을 선택하세요.”)))
            (if (not(and(= “INSERT” (PTE:DXF a 0)) (= “pte-form-block” (PTE:DXF a 2))))
                (progn
                    (setq b   (PTE:MinMax a)
                          sc  (/ (abs (- (caar b) (caadr b))) 841)
                    )
                    (vla-InsertBlock (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) (vlax-3D-Point (car b)) “pte-form-block” sc sc sc 0)
                )
            )
        )
    )
    ;;===========================================
    ;;              Sub-02 Function              
    ;;===========================================
    (defun PTE:form-02( / s sss ip p1 p2 p3 p4 flag flag2 i j directory temp )
        (if (setq s (car(entsel “n 도곽을 선택하세욤!”)))
            (progn
                (vla-put-activeucs 
                    (vla-get-activedocument (vlax-get-acad-object))
                    (vla-add 
                        (vla-get-usercoordinatesystems 
                            (vla-get-activedocument (vlax-get-acad-object))
                        ) 
                        (vlax-3d-point ‘(0.0 0.0 0.0)) 
                        (vlax-3d-point ‘(1.0 0.0 0.0)) 
                        (vlax-3d-point ‘(0.0 1.0 0.0))
                        “tempWCS”
                    )
                )
                (setq sss(ssget “x” (list (cons 0 “INSERT”) (cons 2 (PTE:DXF s 2))))
                      sc1(PTE:DXF s 41)
                      ip (PTE:DXF s 10)
                      p1 (mapcar ‘- (setq temp(getpoint “n파일명으로 정할 text구간을 선택하세요.”)) ip)
                      p2 (mapcar ‘- (getcorner temp) ip)
                      flag nil flag2 nil
                      i 0 j 0
                )
                (PTE:make-layer “ST-temp” “continuous” 7) (setvar ‘clayer “ST-temp”)
                (initget “Yes No”)
                (setq yn
                    (cond
                        (
                            (getkword
                                (strcat “n파일명에 revision을 넣으시겠습니까? [Yes/No]?  <“
                                    (setq yn
                                        (cond ( yn ) ( “No” ))
                                    )
                                “>: “
                                )
                            )
                        )
                    ( yn )
                    )
                )
                (if (= “Yes” yn) 
                    (setq p3 (mapcar ‘- (setq temp(getpoint “nRevision구간을 선택하세요..”)) ip)
                          p4 (mapcar ‘- (getcorner temp) ip)
                    )
                    (setq p3 nil p4 nil)
                )
                (setq directory (LM:DirectoryDialog “세상은 야매로…..” nil 1))
                (vla-ZoomExtents (vlax-get-acad-object))
                
                (setvar ‘osmode 0)
                (mapcar
                    ‘(lambda ( a / b mm fn fn2 sc2 )  
                        (setq b (PTE:DXF a 10)
                              sc2 (/ (PTE:DXF a 41) sc1)
                              mm(PTE:MinMax a)
                        )
                        (vla-ZoomWindow (vlax-get-acad-object) (vlax-3d-point (car mm)) (vlax-3d-point (cadr mm)))
                        (if (setq c (ssget “wp” (PTE:pt->lst (PTE:temp1 p1 b sc2) (PTE:temp1 p2 b sc2)) ‘((0 . “*TEXT”))))
                            (if (and p3 p4 (setq d (ssget “wp” (PTE:pt->lst (PTE:temp1 p3 b sc2) (PTE:temp1 p4 b sc2)) ‘((0 . “*TEXT”)))))
                                (progn
                                    (setq fn (strcat (PTE:DXF (ssname c 0) 1) “_” (PTE:DXF (ssname d 0) 1)) fn2 fn)
                                    (while (findfile (strcat directory “\” fn “.dwg”))
                                        (setq fn (strcat fn2 ” (중복)-” (itoa(setq j (1+ j)))) flag 1 flag2 1)
                                    )
                                )
                                (progn
                                    (setq fn (strcat (PTE:DXF (ssname c 0) 1)) fn2 fn)
                                    (while (findfile (strcat directory “\” fn “.dwg”))
                                        (setq fn (strcat fn2 ” (중복)-” (itoa(setq j (1+ j)))) flag 1 flag2 1)
                                    )
                                )
                            )
                            (progn
                                (setq flag 1 flag2 1)
                                (while (findfile (strcat directory “\” (setq fn(strcat “파일명을 찾을 수 없습니다.-” (itoa(setq i (1+ i))))) “.dwg”)))
                            )
                        )
                        (setq sc  (/ (abs (- (caar mm) (caadr mm))) 841))
                        (if flag2
                            (progn
                                (if (not(tblsearch “block” “pte-flag-red”)) (PTE:make-block 2))
                                (vla-InsertBlock (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) (vlax-3D-Point (car mm)) “pte-flag-red” sc sc sc 0)
                            )
                            (progn
                                (if (not(tblsearch “block” “pte-flag-green”)) (PTE:make-block 3))
                                (vla-InsertBlock (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) (vlax-3D-Point (car mm)) “pte-flag-green” sc sc sc 0)
                            )
                        )
                        
                        (setq fn (strcat directory “\” fn “.dwg”) j 0 flag2 nil)
                        (ssget “wp” (PTE:pt->lst (car mm) (cadr mm)))
                        (PTE:vla-wblock (car mm) fn nil)
                    )(LM:ss->ent sss)
                )
            )
        )
        (if flag 
            (LM:Popup “세상은 야매로…” ” 잘못된 파일이 있습니다.  폴더를 확인하세염” (+ 0 48 4096))
            (LM:Popup “세상은 야매로…” (strcat (itoa(sslength sss)) “장의 도면이 생성되었습니다.”) (+ 0 64 4096))
        )
    )
    ;;===========================================
    ;;              Sub-03 Function              
    ;;===========================================
    (defun PTE:form-03( / directory dwgs point xlst ylst len k j dwg i block obj )
        (setq directory (LM:DirectoryDialog “세상은 야매로…..” nil 1)
              point ‘(0 0 0) xlst ‘(0) ylst ‘(0)
        )
        (if (eq “\” (substr directory (strlen directory)))
            (setq directory (substr directory 1 (1- (strlen directory))))
        )
        (setq dwgs(reverse(PTE:sortwindows (LM:GetAllFiles directory nil “*.dwg”) nil)))
        (setq len(length dwgs) 
              k (fix(/ len 10)) 
              j -1
        )
        (repeat (rem len 10)
            (setq dwg (nth (+ (* 10 k) (setq j (1+ j))) dwgs)
                  block(PTE:vla-insert dwg ‘(0 0 0) 1)
            )
            (vla-getboundingbox block ‘mi ‘ma)
            (vla-move block mi (vlax-3d-point point))
            (vla-explode block)
            (vla-delete block)
            (setq dis(list (vlax-safearray->list mi) (vlax-safearray->list ma))
                  xlst (append xlst (list (* 1.2 (- (caadr dis) (caar dis)))))
                  ylst (append ylst (list (* 1.2 (- (cadadr dis) (cadar dis)))))
                  point (mapcar ‘+ point (list (last xlst) 0))
            )
        )
        (repeat k
            (setq point (list 0 (+ (cadr point) (nth 0(vl-sort ylst ‘>))))
                  xlst ‘()
                  ylst ‘()
                  i -1
            )
            (repeat 10
                (setq dwg (nth (+ (* 10 (- k 1)) (setq i (1+ i))) dwgs))
                (setq block(PTE:vla-insert dwg ‘(0 0 0) 1))
                (vla-getboundingbox block ‘mi ‘ma)
                (vla-move block mi (vlax-3d-point point))
                (vla-explode block)
                (vla-delete block)
                (setq dis(list (vlax-safearray->list mi) (vlax-safearray->list ma))
                      xlst (append xlst (list (* 1.2 (- (caadr dis) (caar dis)))))
                      ylst (append ylst (list (* 1.2 (- (cadadr dis) (cadar dis)))))
                      point (mapcar ‘+ point (list (last xlst) 0))
                )
            )
            (setq k (1- k))
        )
        (setq obj (vla-get-activedocument (vlax-get-acad-object)))
        (vla-purgeall obj) (vla-AuditInfo obj T) (vla-Regen obj acActiveViewport) (vla-ZoomExtents obj)
    )
    
    ;;===========================================
    ;;              Sub-04 Function              
    ;;===========================================
    (defun PTE:vla-insert( f p sc / a block )
        (setq a (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))))
        (setq block(vla-InsertBlock a(vlax-3D-Point p) f sc sc sc 0))
        block
    )
    ;;===========================================
    ;;              Sub-05 Function              
    ;;===========================================
    (defun PTE:temp1(p pt sc)
        (mapcar ‘+ pt (mapcar ‘* p (list sc sc sc)))
    )
    ;;===========================================
    ;;              Sub-06 Function              
    ;;===========================================
    (defun LM:Popup ( title msg flags / wsh res )
        (vl-catch-all-apply
            (function
                (lambda nil
                    (setq wsh (vlax-create-object “WScript.Shell”))
                    (setq res (vlax-invoke-method wsh ‘popup msg 0 title flags))
                )
            )
        )
        (if wsh (vlax-release-object wsh))
        res
    )
    ;;===========================================
    ;;              Sub-07 Function              
    ;;===========================================
    (defun PTE:make-layer(#name #linetype #color / )
        (if (not (tblsearch “LAYER” #name))
            (entmake (list (cons 0 “LAYER”)
                           (cons 100 “AcDbSymbolTableRecord”)
                           (cons 100 “AcDbLayerTableRecord”)
                           (cons 2 #name)
                           (cons 70 0)
                           (cons 62 #color)
                           (cons 6 #linetype)))
        )
    )
    ;;===========================================
    ;;              Sub-08 Function              
    ;;===========================================
    (defun PTE:pt->lst( p1 p2 / )
        (list p1 (list (car p1) (cadr p2)) p2 (list (car p2) (cadr p1)))
    )
    ;;===========================================
    ;;              Sub-09 Function              
    ;;===========================================
    (defun LM:ss->ent ( ss / i l )
        (if ss
            (repeat (setq i (sslength ss))
                (setq l (cons (ssname ss (setq i (1- i))) l))
            )
        )
    )
    ;;===========================================
    ;;              Sub-10 Function              
    ;;===========================================
    (defun LM:DirectoryDialog ( msg dir flag / Shell HWND Fold Self Path ac )
    ;; ? Lee Mac 2010
        (setq Shell (vla-getInterfaceObject (setq ac (vlax-get-acad-object)) “Shell.Application”)
              HWND  (vl-catch-all-apply ‘vla-get-HWND (list ac))
              Fold  (vlax-invoke-method Shell ‘BrowseForFolder (if (vl-catch-all-error-p HWND) 0 HWND)  msg flag dir)
        )
        (vlax-release-object Shell)
        (if Fold
            (progn
                (setq Self (vlax-get-property Fold ‘Self) Path (vlax-get-property Self ‘Path))
                (vlax-release-object Self)
                (vlax-release-object Fold)      
                (and (= “\” (substr Path (strlen Path)))
                    (setq Path (substr Path 1 (1- (strlen Path))))
                )
            )
        )
        Path
    )
    ;;===========================================
    ;;              Sub-11 Function              
    ;;===========================================
    (defun PTE:vla-wblock( pt fn flag / Acdoc )
        (setq Acdoc (vla-get-activedocument (vlax-get-acad-object))
              ss (vla-get-activeselectionset Acdoc)
        )
        (if flag
            (progn
                (vlax-for x ss (vla-move x (vlax-3d-point pt) (vlax-3d-point ‘(0.0 0.0 0.0))))
                (vla-wblock Acdoc fn ss)
                (vlax-for x ss (vla-move x (vlax-3d-point ‘(0.0 0.0 0.0)) (vlax-3d-point pt)))
            )
            (vla-wblock Acdoc fn ss)
        )
        (vla-delete ss)
    )
    ;;===========================================
    ;;              Sub-12 Function              
    ;;===========================================
    (defun PTE:start( variable-list / )
        (setq *list* variable-list)
        (setq *start* (mapcar ‘getvar *list*))
        (if (= 8 (logand 8 (getvar ‘UNDOCTL)))
            (vla-EndUndoMark (vla-get-ActiveDocument (vlax-get-acad-object)))
        )
        (vla-startundomark (vla-get-ActiveDocument (vlax-get-acad-object)))
    )
    
    ;;===========================================
    ;;              Sub-13 Function              
    ;;===========================================
    (defun PTE:end nil
        (if (and *list* *start*) (mapcar ‘setvar *list* *start*))
        (setq *list* nil *start* nil)
        (vla-endundomark (vla-get-ActiveDocument (vlax-get-acad-object)))
    )    
    
    ;;===========================================
    ;;              Sub-14 Function              
    ;;===========================================
    (defun PTE:DXF (#ename #code / )
        (cdr (assoc #code (entget #ename)))
    )
    ;;===========================================
    ;;              Sub-15 Function              
    ;;===========================================
    (defun PTE:MinMax (l / #Obj #P1 #P2 #Ans)
        (vla-getboundingbox (vlax-ename->vla-object l) ‘low_left ‘up_right)
        (list (vlax-safearray->list low_left) (vlax-safearray->list up_right))
    )
    ;;===========================================
    ;;              Sub-16 Function              
    ;;===========================================
    (defun PTE:make-block ( typ- )
        (cond 
            ((= typ- 1)
                (entmake 
                    ‘((0 . “BLOCK”) (100 . “AcDbEntity”) (67 . 0) (8 . “0”) (100 . “AcDbBlockReference”) (2 . “pte-form-block”) (10 0 0 0) (70 . 0)))
                (entmake 
                    ‘((0 . “HATCH”) (100 . “AcDbEntity”) (8 . “Defpoints”) (370 . -3) (100 . “AcDbHatch”) (10 0 0 0) (210 0 0 1) (2 . “SOLID”) 
                    (70 . 1) (71 . 0) (91 . 1) (92 . 7) (72 . 1) (73 . 1) (93 . 3) (10 0 9.768871806911647 0) (42 . 0) (10 0 0 0) (42 . 0) (10 9.768871806911647 0 0) 
                    (42 . 0.414213562373095) (97 . 0) (75 . 1) (76 . 1) (47 . 0.057316318991594) (98 . 1) (10 4.300900791185996 3.248327298868389 0) (450 . 0) (451 . 0) 
                    (460 . 0) (461 . 0) (452 . 0) (462 . 1) (453 . 2) (463 . 0) (63 . 5) (421 . 255) (463 . 1) (63 . 2) (421 . 16776960) (470 . “LINEAR”)))
                (entmake 
                    ‘((0 . “LWPOLYLINE”) (100 . “AcDbEntity”) (67 . 0) (8 . “0”) (62 . 5) (370 . 0) (100 . “AcDbPolyline”) (90 . 4) (70 . 1) (43 . 0) (38 . 0) (39 . 0) 
                    (10 0 594) (40 . 0) (41 . 0) (42 . 0) (91 . 0) (10 841 594) (40 . 0) (41 . 0) (42 . 0) (91 . 0) (10 841 0) (40 . 0) (41 . 0) (42 . 0) (91 . 0) (10 0 0) 
                    (40 . 0) (41 . 0) (42 . 0) (91 . 0)))
                (entmake 
                    ‘((0 . “HATCH”) (100 . “AcDbEntity”) (8 . “Defpoints”) (370 . -3) (100 . “AcDbHatch”) (10 0 0 0) (210 0 0 1) (2 . “SOLID”) (70 . 1) (71 . 0) (91 . 1) 
                    (92 . 7) (72 . 1) (73 . 1) (93 . 3) (10 841 584.2311281930883 0) (42 . 0) (10 841 594 0) (42 . 0) (10 831.2311281930888 594 0) (42 . 0.414213562373095) 
                    (97 . 0) (75 . 1) (76 . 1) (47 . 0.057316318991594) (98 . 1) (10 836.699099208814 590.7516727011316 0) (450 . 0) (451 . 0) (460 . 0) (461 . 0) (452 . 0) 
                    (462 . 1) (453 . 2) (463 . 0) (63 . 5) (421 . 255) (463 . 1) (63 . 2) (421 . 16776960) (470 . “LINEAR”)))
                (entmake ‘((0 . “ENDBLK”) (100 . “AcDbBlockEnd”) (8 . “0”))))
            ((= typ- 2)
                (entmake ‘((0 . “BLOCK”) (100 . “AcDbEntity”) (67 . 0) (8 . “0”) (62 . 2) (370 . -3) (100 . “AcDbBlockReference”) (2 . “pte-flag-red”) (10 0.0 0.0 0.0) (70 . 0)))
                (entmake ‘((0 . “SPLINE”) (100 . “AcDbEntity”) (67 . 0) (8 . “0”) (62 . 1) (370 . -3) (100 . “AcDbSpline”) (70 . 32) (71 . 3) (72 . 10) (73 . 6) (74 . 4) (42 . 0.000000000100000) (43 . 0.000000000100000) (44 . 0.000000000100000) (40 . 0.0) (40 . 0.0) (40 . 0.0) (40 . 0.0) (40 . 71.66205627572100) (40 . 143.6880992171877) (40 . 194.5866491965853) (40 . 194.5866491965853) (40 . 194.5866491965853) (40 . 194.5866491965853) (10 0.300000000000000 594.0999999999998 0.0) (10 3.854161460886274 627.9449535612924 -0.000000025382563) (10 10.98053671672376 695.8067663259887 -0.000000076276612) (10 -81.65511740149456 622.5500634578737 -0.000000057283283) (10 -98.46806936643611 669.6349440058939 -0.000000059204496) (10 -105.4296940141557 689.1310601930769 -0.000000060000000) (11 0.300000000000000 594.0999999999998 0.0) (11 -7.824738613389809 665.2999925009033 -0.000000060000000) (11 -77.39422565083255 646.6495947798600 -0.000000060000000) (11 -105.4296940141557 689.1310601930769 -0.000000060000000)))
                (entmake ‘((0 . “HATCH”) (100 . “AcDbEntity”) (8 . “0”) (62 . 1) (370 . -3) (100 . “AcDbHatch”) (10 0.0 0.0 -0.000000060000000) (210 0.0 0.0 1.0) (2 . “SOLID”) (70 . 1) (71 . 0) (91 . 1) (92 . 7) (72 . 1) (73 . 1) (93 . 2) (10 -181.2992735489656 720.5795495055800 0.0) (42 . 1.0) (10 -92.39406779739459 720.5795495055800 0.0) (42 . 1.0) (97 . 0) (75 . 1) (76 . 1) (47 . 0.741958353749653) (98 . 1) (10 -117.4553724786146 730.2973255564718 0.0) (450 . 0) (451 . 0) (460 . 0.0) (461 . 0.0) (452 . 0) (462 . 1.0) (453 . 2) (463 . 0.0) (63 . 5) (421 . 255) (463 . 1.0) (63 . 2) (421 . 16776960) (470 . “LINEAR”)))
                (entmake ‘((0 . “CIRCLE”) (100 . “AcDbEntity”) (67 . 0) (8 . “0”) (62 . 1) (370 . -3) (100 . “AcDbCircle”) (10 -136.8466706731801 720.5795495055800 -0.000000060000000) (40 . 44.45260287578548)))
                (entmake ‘((0 . “ENDBLK”) (100 . “AcDbBlockEnd”) (8 . “0”))))
            
            ((= typ- 3)
                (entmake ‘((0 . “BLOCK”) (100 . “AcDbEntity”) (67 . 0) (8 . “0”) (370 . -3) (100 . “AcDbBlockReference”) (2 . “pte-flag-green”) (10 0.0 0.0 0.0) (70 . 0)))
                (entmake ‘((0 . “SPLINE”) (100 . “AcDbEntity”) (67 . 0) (8 . “0”) (62 . 3) (370 . -3) (100 . “AcDbSpline”) (70 . 32) (71 . 3) (72 . 10) (73 . 6) (74 . 4) (42 . 0.000000000100000) (43 . 0.000000000100000) (44 . 0.000000000100000) (40 . 0.0) (40 . 0.0) (40 . 0.0) (40 . 0.0) (40 . 71.66205627572100) (40 . 143.6880992171877) (40 . 194.5866491965853) (40 . 194.5866491965853) (40 . 194.5866491965853) (40 . 194.5866491965853) (10 0.0 594.0 0.0) (10 3.554161460886275 627.8449535612925 -0.000000025382563) (10 10.68053671672376 695.7067663259890 -0.000000076276612) (10 -81.95511740149457 622.4500634578739 -0.000000057283283) (10 -98.76806936643610 669.5349440058939 -0.000000059204496) (10 -105.7296940141557 689.0310601930771 -0.000000060000000) (11 0.0 594.0 0.0) (11 -8.124738613389808 665.1999925009033 -0.000000060000000) (11 -77.69422565083255 646.5495947798602 -0.000000060000000) (11 -105.7296940141557 689.0310601930771 -0.000000060000000)))
                (entmake ‘((0 . “HATCH”) (100 . “AcDbEntity”) (8 . “0”) (62 . 3) (370 . -3) (100 . “AcDbHatch”) (10 0.0 0.0 -0.000000060000000) (210 0.0 0.0 1.0) (2 . “SOLID”) (70 . 1) (71 . 0) (91 . 1) (92 . 7) (72 . 1) (73 . 1) (93 . 2) (10 -181.5992735489656 720.4795495055800 0.0) (42 . 1.0) (10 -92.69406779739460 720.4795495055800 0.0) (42 . 1.0) (97 . 0) (75 . 1) (76 . 1) (47 . 0.741958353749653) (98 . 1) (10 -117.7553724786146 730.1973255564718 0.0) (450 . 0) (451 . 0) (460 . 0.0) (461 . 0.0) (452 . 0) (462 . 1.0) (453 . 2) (463 . 0.0) (63 . 5) (421 . 255) (463 . 1.0) (63 . 2) (421 . 16776960) (470 . “LINEAR”)))
                (entmake ‘((0 . “CIRCLE”) (100 . “AcDbEntity”) (67 . 0) (8 . “0”) (62 . 3) (370 . -3) (100 . “AcDbCircle”) (10 -137.1466706731801 720.4795495055800 -0.000000060000000) (40 . 44.45260287578548)))
                (entmake ‘((0 . “ENDBLK”) (100 . “AcDbBlockEnd”) (8 . “0”)))
            )
        )
    )
    ;;===========================================
    ;;              Sub-17 Function              
    ;;===========================================
    (defun PTE:form-main( / val1 scale fname fn str )
        (setq fname (strcat (getvar “TEMPPREFIX”) “st-form.dcl”))
        (while (not (findfile fname))
            (setq fn (open fname “w”))
            (foreach str
                ‘(  “STENG : dialog {“
                    ”    label = ”세상은 야매로…” ;”
                    ”    spacer;”
                    ”    : boxed_column { label = ” Form Option”;”
                    ”        : button { key = ”DCLButton1”;  label = ”도곽 insert”;          width = 2;  height = 2;  alignment = top;  is_tab_stop = false; }”
                    ”        : button { key = ”DCLButton2”;  label = ”도면 나누기”;          width = 2;  height = 2;  alignment = top;  is_tab_stop = false; }”
                    ”        : button { key = ”DCLButton3”;  label = ”도면 합치기”;          width = 2;  height = 2;  alignment = top;  is_tab_stop = false; }”
                    ”    }”
                    “”
                    ”    : spacer  { height = 2; fixed_width = true; }”
                    ”    : row {“
                    ”        : button  { key = ”cancel”; label = ”<<  &Cancel” ; height     =  2; fixed_width = true; width = 2; is_cancel  = true; mnemonic = ”C”; }”
                    ”        : spacer  { width = 2;      fixed_width = true; }”
                    ”    }”
                    ”    :row{“
                    ”        :image{ key = ”im”;  height = 1.0;  width = 1.0; }”
                    ”        :paragraph{“
                    ”            :text_part{ label = ”Designed and Created”; }”
                    ”            :text_part{ label = ”by TaeEun -_-)~”   ; }”
                    ”        }”
                    ”        : spacer { width = 2; fixed_width = true; }”
                    ”        : image  { key = ”iconimage”; width = 5.42; height = 2.51; fixed_width = true; fixed_height = true; aspect_ratio = 1; color = -15; }”
                    ”    }”
                    “}”
                )
                (write-line str fn)
            )
            (close fn)
        )
        (setq dcl_id (load_dialog fname))    
        (new_dialog “STENG” dcl_id)
        (SmileIcon)
        (start_image “im”)
        (fill_image 0 0 (dimx_tile “im”) (dimy_tile “im”) 44)
        (end_image)
        (action_tile “DCLButton1” “(setq typ 1)(done_dialog)”)
        (action_tile “DCLButton2” “(setq typ 2)(done_dialog)”)
        (action_tile “DCLButton3” “(setq typ 3)(done_dialog)”)
        (action_tile “cancel” “(setq typ 0) (done_dialog)”)  
        (start_dialog)
    )
    
    ;;===========================================
    ;;              Sub-18 Function              
    ;;===========================================
    (defun set_tile_list (KeyName$ ListName@ Selected / Item)
        (start_list KeyName$ 3)
        (mapcar ‘add_list ListName@)
        (end_list)
        (foreach Item (if (listp Selected) Selected (list Selected))
            (if (member Item ListName@)
                (set_tile KeyName$ (itoa (- (length ListName@) (length (member Item ListName@)))))
            )
        )
    )
    ;;===========================================
    ;;              Sub-19 Function              
    ;;===========================================
    (defun SmileIcon nil
        (start_image “iconimage”)
        (fill_image 0 0 (dimx_tile “iconimage”)(dimy_tile “iconimage”) -15)
        (vector_line (list “C” 2 2 12 2 19 “C” 2 3 9 3 22 4 23 4 8 “C” 2 5 6 5 25 6
        26 6 5 7 5 7 26 8 27 8 4 9 3 9 28 10 28 10 3 11 3 11 28 12 29 12 2 13 2
        13 29 14 29 14 2 15 2 15 29 16 29 16 2 17 2 17 29 18 29 18 2 19 2 19 29
        20 28 20 3 21 3 21 28 22 28 22 3 23 4 23 27 24 26 24 5 25 5 25 26 26 25
        26 6 “C” 2 27 8 27 23 28 22 28 9 “C” 2 29 19 29 12)
        );vector_line
        (vector_line (list “C” 250 12 30 19 30 20 29 22 29 24 27 25 27 27 25 27 24
        29 22 29 20 30 19 30 12 29 11 29 9 27 7 27 6 25 4 24 4 22 2 20 2 19 1 12
        1 11 2 9 2 7 4 6 4 4 6 4 7 2 9 2 11 1 12 1 19 2 20 2 22 4 24 4 25 6 27 7
        27 9 29 11 29 “C” 250 6 18 8 20 9 20 10 21 12 21 13 22 18 22 19 21 21 21
        22 20 23 20 25 18 “C” 250 11 12 11 10 12 9 12 13 13 12 13 10 “C” 250 18
        12 18 10 19 9 19 13 20 12 20 10)
        );vector_line
        (vector_line (list “C” 8 7 28 8 29 “C” 8 14 32 21 32 “C” 8 10 30 11 30 11
        31 24 31 25 30 20 30 “C” 8 27 29 23 29 24 28 28 28 29 27 26 27 27 26 29
        26 29 23 28 24 28 25 “C” 8 30 20 30 25 31 24 31 11 30 11 30 10 “C” 8 32
        21 32 14 “C” 8 28 7 29 8)
        );vector_line
        (vector_image 9 17 10 17 1)
        (vector_image 7 16 8 16 3)
        (end_image)
    )
    
    ;;===========================================
    ;;              Sub-20 Function              
    ;;===========================================
    (defun vector_line (LineList@ / Rep# X# Y# X1# Y1# X2# Y2# Color#)
        (if (= (type LineList@) ‘LIST)
            (progn
                (setq Rep# 0)
                (repeat (/ (length LineList@) 2)
                    (setq X# (nth Rep# LineList@)
                          Y# (nth (+ Rep# 1) LineList@)
                    )
                    (if (and (= (type X#) ‘STR) (= (type Y#) ‘INT))
                        (if (= (strcase X# “C”))
                            (setq Color# Y#
                                  X1# nil
                                  Y1# nil
                                  X2# nil
                                  Y2# nil
                            )
                        )
                        (if (and (= (type X#) ‘INT) (= (type Y#) ‘INT))
                            (if (and (= X1# nil) (= Y1# nil))
                                (setq X1# X#
                                      Y1# Y#
                                )
                                (progn
                                    (setq X2# X#
                                          Y2# Y#
                                    )
                                    (vector_image X1# Y1# X2# Y2# Color#)
                                    (setq X1# X2#
                                          Y1# Y2#
                                          X# nil
                                          Y# nil
                                    )
                                )
                            )
                        )
                    )
                    (setq Rep# (+ Rep# 2))
                )
            )
        )
    )
    
    ;;===========================================
    ;;              Sub-21 Function              
    ;;===========================================
    (defun LM:GetAllFiles ( Dir Subs Filetype / GetSubFolders )
      ;; ? Lee Mac 2010
      (defun GetSubFolders ( folder / _f )
        (mapcar
          (function
            (lambda ( f ) (setq _f (strcat folder “\” f))
              (cons _f (apply (function append) (GetSubFolders _f)))
            )
          )
          (cddr (vl-directory-files folder nil -1))
        )
      )
      (apply (function append)
        (vl-remove (quote nil)
          (mapcar
            (function
              (lambda ( Filepath )
                (mapcar
                  (function
                    (lambda ( Filename )
                      (strcat Filepath “\” Filename)
                    )
                  )
                  (vl-directory-files Filepath Filetype 1)
                )
              )
            )
            (append (list Dir) (apply (function append) (if subs (GetSubFolders Dir))))
          )
        )
      )
    )
    
    ;;===========================================
    ;;              Sub-22 Function              
    ;;===========================================
    (defun PTE:sortwindows (ListOfString IgnoreCase / NorStrs count
                                         NormalizeNumberInString getcount)
        (defun NormalizeNumberInString (str count / ch i pat ret buf)
            (setq i   0
                  pat ‘(“0” “1” “2” “3” “4” “5” “6” “7” “8” “9”)
                  ret “”
            )
            (while (/= (setq ch (substr str (setq i (1+ i)) 1)) “”)
                (if (vl-position ch pat)
                    (progn
                        (setq buf ch)
                        (while
                            (vl-position (setq ch (substr str (setq i (1+ i)) 1)) pat)
                            (setq buf (strcat buf ch))
                        )
                        (while (< (strlen buf) count) (setq buf (strcat “0” buf)))
                        (setq ret (strcat ret buf))
                    )
                )
                (setq ret (strcat ret ch))
            )
        ret
        )
        (defun getcount (lst / count pat)
            (setq count 0)
            (setq pat ‘(“0” “1” “2” “3” “4” “5” “6” “7” “8” “9”))
            (mapcar
                ‘(lambda (str / i maxlen ch)
                    (setq i 0 maxlen 0)
                    (while (/= (setq ch (substr str (setq i (1+ i)) 1)) “”)
                        (if (vl-position ch pat)
                            (setq maxlen (1+ maxlen))
                            (setq count  (max count maxlen) maxlen 0)
                        )
                    )
                )
                Lst
            )
            count
        )
      ;;===============================================
        (setq count   (GetCount ListOfString)
              NorStrs (mapcar ‘(lambda (x) (NormalizeNumberInString x count)) ListOfString)
        )
        (and IgnoreCase (setq NorStrs (mapcar ‘strcase NorStrs)))
        (mapcar ‘(lambda (x) (nth x ListOfString)) (vl-sort-i NorStrs ‘<))
    )
    
    
    ;;================================================================================
    ;;                                  Main Function                   
    ;;================================================================================
    (defun *error*(s) (PTE:end))
    (PTE:start ‘(“osmode” “clayer”))
    (PTE:form-main) 
    (cond ((= typ 1) (PTE:form-01))
          ((= typ 2) (PTE:form-02))
          ((= typ 3) (PTE:form-03))
    )
    (PTE:end)
)
  • 0
  • 136 조회
공유
  • Facebook

    관련 있는 질문들

    • 캐디안으로 도면을 열때 한글이 ???로 표시되는 문제
    • CADian Lisp
    • 캐디안에서 렌더링 기능이 지원되나요?
    • 동적블록 신축에서 길이를 늘릴때 최종 길이를 입력 또는 늘려야 하는 차이만큼의 길이를 입력

    Sidebar

    질문하기
    공지사항

    • 국산 CAD ‘캐디안 2025’ 출시 사전 예약 진행 2024-09-27

    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