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)
끝 면
끝 이하
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)
끝 면
끝 이하