텍스트의 블록 및 변환 속성 선택

bolo

Guest
나는 사무실을 위한 몇몇 vba rudiment가, autocad를 위한 vba를 이용하는 첫번째 시간입니다.

내 목표는 백 .dwg 파일에 대한 것입니다 :

1. 명세 선택 블록
2. explode 속성과 텍스트로 전환 (특히 도구에 포함 된 텍스트에 "explode 속성")

모든 100 dwg을 통과하기 위해 나는 일상을 발견, 나머지 나는 문제에서 자신을 발견, 누군가가 나에게 약간의 명령이 매우 도움이 될 것이 좋습니다.

감사합니다! !
 
Last edited:
그러나 그 excel 시트는 인쇄에 봉사, 하지 않습니다?
그래서 나는 나에게 필요한 것을 할 코드를 변경해야합니까?
또는 나는 뭔가를 잃었다?

응답을위한 감사 cmq;)
 
Yellow Button (select file)로 모든 dwg을 프로세스로 선택하고 열에 삽입됩니다.

삽입 열에서, 선 당 하나, autocad를 실행해야 하고 그 후에 주어진 마지막 명령의 밑에 세포에서 즉시 둡니다.

파란색 버튼 (스크립트 파일 생성)


예제 보기 이것은 무엇인가 이름 *

우리를 알고.
 
몇 가지 다른 파일을 처리하는 문제에 대해 나는 .dvb에 의해 해결했다 이름 * (그것은 penultimate...)는 많은 dwg을 검토하고 그들을 처리..

내 문제는 블록 이름에 의해 아마 필터링 특정 블록을 선택하고 텍스트로 전환하여 속성을 추출합니다 (특히 도구에 포함 된 텍스트에 "explode 속성")

또한 excel 시트를 사용하여 나는 어떻게 할지 모른다 ... : 융합 :
 
몇 가지 다른 파일을 처리하는 문제에 대해 나는 .dvb에 의해 해결했다 이름 * (그것은 penultimate...)는 많은 dwg을 검토하고 그들을 처리..

내 문제는 블록 이름에 의해 아마 필터링 특정 블록을 선택하고 텍스트로 전환하여 속성을 추출합니다 (특히 도구에 포함 된 텍스트에 "explode 속성")

또한 excel 시트를 사용하여 나는 어떻게 할지 모른다 ... : 융합 :
if not isnull(thisdrawing.selectionsets.item("element2")) 그런 다음
설정 sset2 = thisdrawing.selectionsets.item("element2")
sset2. 삭제
끝 면


설정 sset2 = thisdrawing.selectionsets.add("element2")
dim filtertype(1) 정수
dim filterdata(1) 변형
필터 타입(0) = 0
filterdata(0) = "인출"
필터 타입(1) = 2
filterdata(1) = "이름_block·

sset2.select acselectionsetall, 필터 타입, 필터 데이터

그리고 지금까지 당신은 그 이름을 가진 디자인의 구획을 가진 선택을 창조합니다.

이제 표현이 있는지 확인하십시오. "sendcommand" 명령과 간단한 것은 명령 줄로 전환 할 수 있습니다.
thisdrawing.sendcommand ("버스트" & vbcr & "p" & vbcr & vbcr)이전 선택 이후 "p"가 이미 필터 된 개체를 나타냅니다.

다른 방법 ... 조금 더 많은 노동은 속성의 값과 배열을 만들고 xy 위치를 저장하고, 다음 동일한 속성과 동일한 위치에 텍스트를 다시 작성하는이 배열을 사용합니다. 이것은 조금 더 복잡하지만 feasible입니다.
 
전설!

너무 친절. ·

이제 나는 진정으로 보이며, 나는 목표가 도달했는지 여부를보고합니다! !

좋은 날!
 
그것은 첫 번째 라인에 내 오류를 제공합니다 ...

if not isnull(thisdrawing.selectionsets.item("element2") 그 다음

"키를 찾을 수 없습니다"라고 ... 그것은 정확히 궁금해?

첫번째 코드 단락의 목적은 어떤 선택든지 선물합니까?
 
그것은 첫 번째 라인에 내 오류를 제공합니다 ...

if not isnull(thisdrawing.selectionsets.item("element2") 그 다음

"키를 찾을 수 없습니다"라고 ... 그것은 정확히 궁금해?

첫번째 코드 단락의 목적은 어떤 선택든지 선물합니까?
정의를 변명했습니다.

dim sset2로 acadselectionset
dim element2 객체로

이것은 첫번째 단락의 목적은 sset2에 있는 물체가 있다는 것을 확인하고 아마도 그것을 비웁니다.
 
첫 번째 라인은 항상 같은 실수를 제공합니다 ... 나는 또한 따옴표를 들어 올리려고, 그 경우 그는 " 일치하는 유형"라고 말한다. ·

나는 어드벤처 질문을하는 경우 사과 ... 그러나 나는 물고기가 무엇인지 모른다. . :압력:
 
첫 번째 라인은 항상 같은 실수를 제공합니다 ... 나는 또한 따옴표를 들어 올리려고, 그 경우 그는 " 일치하는 유형"라고 말한다. ·

나는 어드벤처 질문을하는 경우 사과 ... 그러나 나는 물고기가 무엇인지 모른다. . :압력:
코드를 입력하면 수정할 수 있습니다.
 
그것은 첫 번째 라인에 내 오류를 제공합니다 ...

if not isnull(thisdrawing.selectionsets.item("element2") 그 다음

"키를 찾을 수 없습니다"라고 ... 그것은 정확히 궁금해?

첫번째 코드 단락의 목적은 어떤 선택든지 선물합니까?
성명 이외에:

dim sset2로 acadselectionset
dim element2 객체로
태그:
오류는 다음을 다시 시작합니다.if not isnull(thisdrawing.selectionsets.item("element2")) 그런 다음
·
· ...
...
·

시아오
 
첫 번째 라운드 작품에서, 열리고 제대로 dwg을 저장!
두 번째로이 오류가 발생합니다.

실행 시간 오류 '-21474148 (80010108)':
자동화 오류
invoked object는 해당 클라이언트에서 분리됩니다.

Fear... :주의:
 
첫 번째 라운드 작품에서, 열리고 제대로 dwg을 저장!
두 번째로이 오류가 발생합니다.

실행 시간 오류 '-21474148 (80010108)':
자동화 오류
invoked object는 해당 클라이언트에서 분리됩니다.

Fear... :주의:
그래서 ... 그래서 당신은 코드를 배치하지 않는 경우 이해하기 어렵지만, 내 의견에서 선택은 파일의 폐쇄에 emptied되지 않으며 물리적으로 더 이상 존재하지 않는 개체를 물고기로 이동합니다.

vba를 사용하는 경우 오류가 불행히도 cmq는 종종 항상 하나의 이유에 대해 ... 그리고 그것은 추적하기 어렵다.

코드를 넣으면, 어쩌면 나는 그것을 볼 수 ... 그러나 두 줄에서 나를 넣어면 이해하기 어렵다. cmq 오류가 다시 다음 semrpe가 간다, 그러나 실제로 거기 문제가 baipassi 만 ...
 
... cmq 오류에 다시 다음 semrpe가 간다, 그러나 실제로 거기에 문제가 baipassi 만 ...
esatto.....

알 포스터 디

"if not isnull(thisdrawing.selectionsets.item("element2")) 다음"

si potrebbe 요금:

dim y 로 integer
문자열로 dim setname

이름 = "element2"

y = 0 에 thisdrawing.selectionsets.count - 1
if thisdrawing.selectionsets.item(y).name = 설정된 이름
thisdrawing.selectionsets.item (y). 기타 제품
오시는 길
끝 면
다음 y

설정 sset2 = thisdrawing.selectionsets.add("element2")
......
.....
· ...
...

qualche riga di codice 에 piu' ma molto efficace

cosi' facendo (volento) si potrebbe eliminare l' 오류 다음을 다시

ovviamente bisogna aver sotto mano l'intero codice 당 verificare che 비 vi siano altre "inesattezze"
: 마일:
 
좋아요!

그것은 완벽하게 작동합니다 ... 누군가가 관심 장소 코드 또는 코드 파일을 직접 할 수 있다면! !

감사합니다! !

: 파이퍼 :
 
당 chi fosse interessato dallo spunto di bolo ho creato la procedura degli express "explode 속성에 텍스트" vba... praticamente fa la stessa cosa, ma non serve avere gli express caricati per farla funzionare.

permette però di visualizzare o meno gli attributi invisili una volta Convertiti 에 testo.

public sub explode_att_text()
dim sset2로 acadselectionset
acadblockreference로 디엠 blocco
dim sset3로 acadselectionset
acadentity로 dim attributo
dim vlabel(0 ~ 100) 변형
dim vtext(0에서 100) 변형

dim kwordlist로 문자열
kwordlist = "n"을
thisdrawing.utility.initializeuserinput 1, 칼리스트

thisdrawing.utility.prompt vblf 및 vblf

dim returnstring 로 문자열
returnstring = thisdrawing.utility.getkeyword("visualizzare attributi nascosti? (s)(n): ")

오류는 다음을 다시 시작합니다.

if not isnull(thisdrawing.selectionsets.item("blocco")) 그런 다음
설정 sset2 = thisdrawiang.selectionsets.item("blocco")
sset2. 삭제
끝 면

설정 sset2 = thisdrawing.selectionsets.add("blocco")

dim filtertype(0) 정수
dim filterdata(0) 변형

필터 타입(0) = 0
filterdata(0) = "인출"
필터 타입(1) = 2
' filterdata(1) = "numvan"

sset2.select acselectionsetall, , 필터 타입, 필터 데이터

sset2에 있는 각 blocco
만약 blocco. 다음 것
변형으로 dim array1
배열1 = blocco.getattributes
i = lbound(array1)를 ubound(array1)로
vlabel(i) = 배열1(i).tagstring
vtext(i) = array1(i).textstring
debug.print (vtext (i))를
다음 것 i

blocco. 폭발
blocco.의 특징 기타 제품


오류는 다음을 다시 시작합니다.

if not isnull(thisdrawing.selectionsets.item("attributo")) 그런 다음
설정 sset3 = thisdrawiang.selectionsets.item("attributo")
RSS 피드
끝 면

설정 sset3 = thisdrawing.selectionsets.add("attributo")

dim filtertype1(0) 정수
dim filterdata1(0) 변형

필터 타입1(0) = 0
filterdata1(0) = "attdef"

sset3.select acselectionsetall, , filtertype1, filterdata1

반환 문자열 = ""다음 반환 문자열 = "s"

sset3에 있는 각 attributo를 위해

ucase(returnstring) = "n"이면
if attributo.invisible = true 그때 attributo. 기타 제품
끝 면
i = lbound(array1)를 ubound(array1)로
if attributo.tagstring = vlabel(i) 다음
attributo.tagstring = vtext(i)
끝 면
다음 것 i

다음 attributo

끝 면
RSS 피드
다음 blocco
sset2. 삭제
끝 이하
 

Forum statistics

Threads
58,191
Messages
495,938
Members
103,104
Latest member
FabioFrontini

Members online

No members online now.

Back
Top