비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 110732
다음
Lv.0
등록일: 2018-12-172018-12-17T18:47:50+09:00 2018-12-17T18:47:50+09:00카테고리: AutoCAD & CADian

블럭 속성값 변경

안녕하세요

그냥 인풋박스로 값을 적어서

블럭 속성에 있는 ‘SIZE’란  테그 값을  변경하고 싶은데

샘플 자료 가 없을까요?

엑셀에서 올리는 건 있는 것 같은데

응용하려고 하는데 주석이 없어서 이해하기 좀 힘듭니다.

도와 주시면 감사하겠습니다.

책을 다 뒤져도 안 나와서요


아니면 아래 코드  설명이라도 부탁드려도 될까요?

감사합니다.


(defun c:aaa( / dir dwgs csv )

    (sPTE:111230-j)

    (setq dir  (LM:DirectoryDialog “Select Lisp Fold…..” nil 1)

          dwgs (LM:GetAllFiles dir nil “*.dwg”)

          csv  (LM:GetAllFiles dir nil “*.csv”)

    )

   

    (if (= (length csv) 1)

        (progn

            (setcfg “appdata/pte/temp” (car csv))

            (PTE:script dwgs “(PTE:Csv->AttText)” t)

        )

        (alert “1개의 csv파일이 존재해야 합니다.”)

    )

)

 

(defun c:bbb( / dir csv )

 

    (sPTE:111230-j)

   

    (setq dir (getvar ‘DWGPREFIX))

    (if (eq “\” (substr dir (strlen dir)))

        (setq dir (substr dir 1 (1– (strlen dir))))

    )

    (setq csv  (LM:GetAllFiles dir nil “*.csv”))

   

    (if (= (length csv) 1)

        (progn

            (setcfg “appdata/pte/temp” (car csv))

            (PTE:Csv->AttText)

        )

        (alert “1개의 csv파일이 존재해야 합니다.”)

    )

)

 

(defun PTE:Csv->AttText( / ss lst )

    (sPTE:111230-k)

    (setq doc (vla-get-ActiveDocument (vlax-get-acad-object))

          lst (PTE:ReadCSV  (getcfg “appdata/pte/temp”))

    )

   

    (if (setq ss(ssget “x” ‘((0 . “INSERT”) (66 . 1))))

        (progn

            (vlax-for block (vla-get-ActiveSelectionset doc)

                (foreach attrib (LM:GetAttributes block)

                    (if (setq l(assoc (car attrib) lst))

                        (LM:SetAttributeValue block (car attrib) (cadr l))

                    )

                )

            )

        )

    )

)

 

 

(defun sPTE:111230-j nil

 

    (defun PTE:script ( dwgs cmd save / fname f )

        (setq fname (vl-filename-mktemp “ST-script.scr”)

              f (open fname “w”)

        )

        (if (= (getvar ‘DWGTITLED) 1)

            (progn

                (write-line “_.QSAVE” f)

                (write-line “_.CLOSE” f)

            )

        )

        (foreach dwg dwgs

            (progn

                (write-line (strcat “_.OPEN ”” dwg “””) f)

                (write-line cmd f)

                (if save (write-line “_.QSAVE” f))

                (write-line “_.CLOSE” f)

            )

        )

        (close f)

        (command “_.SCRIPT” fname)

        (vl-file-delete fname)

    )

 

    (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

    )

    (defun LM:GetAllFiles ( Dir Subs Filetype / _GetSubFolders )

 

        (defun _GetSubFolders ( folder )

            (apply ‘append

                (mapcar

                    (function

                        (lambda ( f )

                            (cons (setq f (strcat folder “\” f)) (_GetSubFolders f))

                        )

                    )

                    (vl-remove “.” (vl-remove “..” (vl-directory-files folder nil -1)))

                )

            )

        )

 

        (apply ‘append

            (mapcar

                (function

                    (lambda ( Filepath )

                        (mapcar

                            (function

                                (lambda ( Filename ) (strcat Filepath “\” Filename))

                            )

                            (vl-directory-files Filepath Filetype 1)

                        )

                    )

                )

                (cons Dir (if subs (_GetSubFolders Dir)))

            )

        )

    )

)

 

(defun sPTE:111230-k nil

 

    (defun LM:SetAttributeValue ( block tag value ) (setq tag (strcase tag))

        (vl-some

            (function

                (lambda ( attrib )

                    (if (eq tag (strcase (vla-get-TagString attrib)))

                        (progn (vla-put-TextString attrib value) value)

                    )

                )

            )

            (vlax-invoke block ‘GetAttributes)

        )

    )

    (defun LM:GetAttributes ( block )

        (mapcar

            (function

                (lambda ( attrib )

                    (cons (vla-get-TagString attrib) (vla-get-TextString attrib))

                )

            )

            (vlax-invoke block ‘GetAttributes)

        )

    )

 

 

    (defun PTE:str->lst ( s d / p )

        (if (setq p (vl-string-search d s))

            (cons (substr s 1 p) (PTE:str->lst (substr s (+ p 1 (strlen d))) d))

            (list s)

        )

    )

   

    (defun PTE:ReadCSV ( f / l n )

        (cond

            (

                (setq f (open f “r”))

 

                (while (setq n (read-line f))

                    (setq n (PTE:str->lst n “,”))

                    (setq l (cons (cons (strcase (car n)) (cdr n)) l))

                )

                (close f)

            )

        )(reverse l)

    )

)

  • 0
  • 23 조회
공유
  • Facebook

    관련 있는 질문들

    • insert 삽입할때 레이어도 같이 변경가능할까요?
    • 캐드 파일을 PDF로 변환 할 때 문제점 도와주세요 ㅠ
    • 질문오토캐드 라인타입이 너무 많은데 어떻게 정리하나요..
    • 질문오토캐드 라인타입이 너무 많은데 어떻게 정리하나요..

    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