자동으로 ipart 회원을 분리, 매크로

3olo

Guest
구하다,
sbuffando e fatica sojno riuscito a crearmi una macro 에 inventor i per la generazione automatica dei membri di una ipart e la 관계 conversiojne 에 formato 단계. la uso con soddisfazione da un po’e fa tutto da sola. nello 특성:
-genera 튜티 i membri di un ipart;
-li mette tutti 에 un assieme Pilota e lo salva;
-ltutti tali 파일 vengono esportati 단계 e messi 에서 una cartella .
spettacolo 탄미익: però ho l’esigenza di creare migliaia di membri, me l’ipart e fornire solamente i membri,però il problema è che ovviamente una volta aperti non trovano il collegamento con l’ipart(non essendoci) e danno un messaggio di errore cui si devere ignora. 콜롬비아
vorrei quindi modificare la Macro 에 modo che ogni membro dell'ipart venga scollegato dall'ipart , modo da 비 aver più messaggi.
cercando nella guida di 발명가 api ho trovato una funzione che forse fa al caso mio :
ipartmember.breaklinktofactory()에
이름 *
부모 공장에 대한 링크를 끊는 방법은 ipart 회원을 파생 된 부분에 변환합니다.

dovrebbe essere quest ache mi serve.
però essendo un po’ limitato io con vba 비 sono 에 grado di inserirla nella mia 매크로 에 modo che funzioni.
c'è qualche buon anima che mi può aiutare? 세 비 riuscite a modificare la macro mi basterebbe averne una nuova 에 cui magari si scolleghino tutti i componenti inseriti 에 un assieme.
vi prego aiutatemi che 비 그래서 più dove sbattere la testa. vi ringrazio tanto 에 anticipo



공공 하위 addipartoccurrence()
'공장 문서가 보이지 않습니다.
dim ofactorydoc 으로 partdocument
set ofactorydoc = thisapplication.documents.open("c:\disegni inventor\prova ipart1.ipt", false)

' 구성 요소 정의에 대한 참조를 설정합니다.
dim ocompdef로 partcomponentdefinition
ocompdef = ofactorydoc.componentdefinition 설정

' 우리는 ipart 공장이 있는지 확인합니다.
if ocompdef.isipartfactory = false 그 후
msgbox "chosen 문서는 공장이 아닙니다.", vbexclamation
출구 sub
끝 면

' 공장에 대한 참조를 설정합니다.
dim oipartfactory로 ipartfactory
설정 oipartfactory = ocompdef.ipartfactory

'공장에서 행 수를 얻을.
integer로 dim inumrows
수익 = oipartfactory.tablerows.count

' 새 조립 문서 만들기
집합 문서로 dim odoc
set odoc = thisapplication.documents.add(kassemblydocumentobject, , 사실)

구성품으로 dim ooccs
설정 ooccs = odoc.componentdefinition.occurrences

dim opos 로 matrix
설정 opos = thisapplication.transientgeometry.creatematrix

두 배로 dim ostep
o단계 = 0#
dim irow 긴

'공장에서 각 구성원에 대한 발생을 추가합니다.
irow에 대해 = 1 to inumrows

o단계 = ostep + 10

'X 축에 따라 번역 추가
opos.settranslation thisapplication.transientgeometry.createvector(ostep, ostep, 0)

componentoccurrence로 dim oocc
설정 oocc = ooccs.addipartmember("c:\disegni inventor\prova ipart1.ipt", opos, irow)

이름 *

파일 형식
호출 odoc.saveas("c:\disegni inventor\assiemecancella.iam", true)

문서로 dim orefdoc
odoc.referenceddocuments의 각 orefdoc에 대해
ipartmember.breaklinktofactory (혹은 문서)
호출 exporttostep(orefdoc)

이름 *


끝 이하

public sub exporttostep(문서로 문서)

문자열로 dim exportpath
exportpath = "c:\disegni 발명가\stpcanc"

'단계 번역자를 추가합니다.
dim osteptranslator로 Translatoraddin
osteptranslator = thisapplication.applicationaddins.itembyid("{90af7f40-0c01-11d5-8e83-0010b541cd80}")

osteptranslator가 아무것도 없다면
msgbox "단계 번역자를 액세스하지 않았습니다."
출구 sub
끝 면

dim ocontext로 번역컨텍스트
설정 ocontext = thisapplication.transientobjects.createtranslationcontext
namevaluemap으로 dim ooptions
ooptions = thisapplication.transientobjects.createnamevaluemap 설정
osteptranslator.hassavecopyasoptions(thisapplication.activedocument, ocontext, ooptions)가 있다면
'설정 응용 프로토콜.
' 2 = ap 203 - 구성 제어 디자인
' 3 = ap 214 - 자동차 디자인
ooptions.value("applicationprotocoltype") = 3

'다른 옵션...
'ooptions.value("author") = "
'ooptions.value("authorization") = "
'ooptions.value("description") = ""

ooptions.value("organization") = "---"

ocontext.type = kfilebrowseiomechanism

datamedium로 dim odata
설정 odata = thisapplication.transientobjects.createdatamedium


'format 파일 이름
dim fnamepos 긴
마지막 뒤 슬래시의 포스트
fnamepos = instrrev (odoc.fullfilename, "", -1)
dim docfname 으로 문자열
'file name 와 extension
docfname = string.right(odoc.fullfilename, len(odoc.fullfilename) - fnamepos)를 호출합니다.
'파일 이름 확장 없이
문자열로 dim shortname
짧은 이름 = strings.left(docfname, len(docfname) - 4)

odata.filename = exportpath & 단축이름 & ".stp"

호출 osteptranslator.savecopyas(odoc, ocontext, ooptions, odata)
끝 면
끝 이하
 
나는이 작품을 생각한다. ·
Code:
dim opart로 partdocument
odoc.referenceddocuments에 있는 각 opart를 위해
opart.componentdefinition.ipartmember.breaklinktofactory에 대 한
이름 *
 
대단히 감사합니다. 어디로 가야합니까? 하위 끝의 앞에?
나는 전에 말한다 :
문서로 dim orefdoc
odoc.referenceddocuments의 각 orefdoc에 대해
imemberpart.breaklinktofactory (혹은 문서)
호출 exporttostep(orefdoc)

이름 *

그가 제거하는 것
imemberpart.breaklinktofactory (혹은 문서)

나는 작업이 필요한 것 같지만 나는 깨진 연결과 iparts에 무슨 일이 일어나지 않았다는 것을 깊이하지 않았다. .
 
매우 친절! 나는 당신을 알고! 그리고 이 코드를 사용하여 매크로를 만들려면 ipart 회원과 함께 설정하고 나를 분리? 빠른 초안을 던질 수 있습니까? 그래서 bypassamdo 부분 생성 및 수출 단계.
 
내가 시도하고 일부 iparts에서 일, 다른 사람에, 그것은 링크 중단, 하지만 내가 생성 된 파일럿 axieme을 저장해야 실제 변경 (그리고 모든 구성 요소의 과정) 그러나, 내가 저장하려고 할 때 모든 발명가 충돌, 아마 저장 될 수있는 많은 구성 요소에 대한.
나는 그런 다음 "save2"기능을 추가하기 위해 발명가가가가 조립 및 관련 부품의 구조와 관련된 가이드에 관계되었지만, 나는 그것을 작성하는 방법을 이해하지 않는다, 당신은 나를 도울 수?
나는 시도
odoc.save2( true, ) 하지만 아무것도
호출 odoc.save2(true,) 이 아무것도
odoc.save2(true,0) 아무것도

나를 도와주세요? 나는 breaklink와 구성 요소의 수출 사이에 삽입 할 것, 나는 그것을 넣어 정확하지만, 나를 말해
 
나는이 시간에 많은 시간이 없습니다, 당신은 인내가 있다면, 나는 눈을 줄려고. 나는 충돌이 구성 요소의 양으로 인해 생각하지 않는다 : 발명가는 그 경우에 던질 것이다. 그러나 나는 분리 된 iparts로 무슨 일이 일어나는지 모른다, 나는 매우 몇 개의 iparts를 사용하고 나는 그들이 행동하는 방법을 생각하지 않았다 ... 당신은 그것에 대해 공부해야합니다.
 
죄송합니다, 당신의 인내에 감사드립니다!
당신이 보고 싶은 경우에 시간이 있을 때
 

Forum statistics

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

Members online

No members online now.

Back
Top