Otomatik yaratım ipart üyeleri ve ihracat adım

3olo

Guest
Merhaba.
Her biri birkaç bin bileşen üreteceğim bazı ipart parçaları yaptım.
Bu bir problem değil, zaten yapıldı, problem, diğer modellerle paylaşabilmem için her adım atmalıyım.
Şu anda bir set ve yorgunlukta üretilen tüm parçalar koydum, bunun tüm bileşenlerini bir adım formatında dönüştüreceğim.
Birinin ipart'ın tüm üyelerini üreten bir kural yazabildiği ve ardından otomatik olarak bu üretilen üyelerin her birini otomatik olarak ortaya çıkar.
Biraz VB donanımım ve yapamıyorum.
Beni büyük bir zevk yaptın.
Size çok teşekkür ederim
 
Şanslısınız çünkü programlama rehberindeki örneklerden biri, sorduğunuz şeyi yapar
(Bir dx > topluluk kaynakları > programlama kılavuzu > indeks, arama ipartatif nesne, sayfa bağlantılarının alt kısmında örneklere.
Zaten ilogic rudiments varsa, sorun yok
Kod:
Public sub addipartoccurrence()
“Geçmiş fabrika belgesini açın.
dim omingdoc as partdocument
Set omingdoc = buapplication.documents.open("c:\temp\iparttors.ipt", false)

“Demokrat tanımına bir referans ayarlayın.
dim ocompdef as partcomponentdefinition
set ocompdef = omingdoc.componentdefinition

“Bir ipart fabrikası olduğundan emin olun.
Eğer ocompdef.isiparttors = false o zaman
msgbox "chosen belgesi bir fabrika değildir.", vbexclamation
çıkış alt alt alt
Sonunda, eğer sona erirse

" fabrikaya bir referans koydu.
dim oipartling as iparttors
Oipartatif = ocompdef.ipartming

Fabrikadaki sıra sayısını elde edin.
dim inumrows as Full
Inumrows = oiparttors.tablerows.count

“Yeni bir montaj belgesi oluşturmak
dim odoc as assemblydocument
Set odoc = buapplication.documents.add(kassemblydocumentobject, , true)

dim ooccs as componentoccurrences
set ooccs = odoc.componentdefinition.occurrences

dim opos as matrix
set opos = buapplication.transientgeometry.creatematrix

dim ostep as double
Cevap = 0#
dim irow as long

Fabrikadaki her üye için bir olay ekleyin.
irow = 1 to inumrows

Ostep = ostep + 10

x eksen boyunca bir çeviri ekleyin
Opos.settranslation thisapplication.transientgeometry.createvector(ostep, ostep, 0)

dim oocc as componentoccurrence
Set oocc = ooccs.addipartmember ("c:\temp\ipartatif.ipt ", opos, irow)
Bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki
Sonunda alt alt
Ya da daha iyisi, tam olarak istediğiniz şey değil ama kuralınızla zaten iyi oldu... Bu program bir ipart tüm elementleri bir araya getiriyor
 
büyükbaba! grazie değirmeni! Gerçektà oğlumo ancora molto neanderthal con ilogic e uso arayışa esportarete le katılımcı di un assieme in iges ,l'ho trovata su un forum che non mi ricordo al momento,ma funziona alla perfezione

“Açık belgeyi tanımlamak
dim opendoc as document
opendoc = thisdoc.document

“Intefine klasörü dosyaları oluşturmak için
ofolder = "c:\temp\igs dosyaları"

Hedef klasörü için kontrol edin ve mevcut değilse onu yaratın
Eğer sistem değilse.io.directory.exists(ofolder) o zaman
Sistem.io.directory.createdirectory (ofolder)
Sonunda, eğer sona erirse

“Açık belgede referanslanan tüm dosyalara bakın
dim docfile as document
Her docfile için açıkdoc.allreferenceddocuments
'format file name
dim fnamepos as long
"Son sırtın darbesi
fnamepos = instrrev (docfile.fullfilename, "\", -1)
dim docfname as string
‘Geçmişle dosya adı
Docfname = right(docfile.fullfilename, len(docfile.fullfilename) - fnamepos)
'Doğal adı uzatmadan
Kısa Adı = Sol(docfname, len(docfname) -4)

" iges çevirmeni ekle.
dim oigestranslator as çevirmenaddin
Oigestranslator = buapplication.applicationaddins.itembyid _
({90af7f44-0c01-11d5-8e83-0010b541cd80})
dim ocontext as çeviricontext
Ocontext = buapplication.transientobjects.createtranslationcontext
dim ooptions as namevaluemap
Ooptions = buapplication.transientobjects.createnamevaluemapp
Eğer oigestranslator.hassavecopyasoptions (docfile, ocontext, ooptions) sonra
“ tel için geometri türü ayarla.
0 = yüzeyler, 1 = sağlamlar, 2 = tel
"ooptions.value("geometrytype") = 1
“Diğer çevirmen değerleri belirlemek için:
"Ooptions.value("solidfacetype") = n n
0 = besleyici, 1 = analitik
"Ooptions.value("surfacetype") = n
0 = 143 (çalışılmış), 1 = 144 (trimmed)
Ocontext.type = iomechanismenum.kfilebrowseiomechanism
dim roomta as datamedium
Odata = buapplication.transientobjects.createdatamedium
'Sigs dosyası için dosya yolu
roomta.file name = ofolder & "\" & shortname & ".igs"
Oigestranslator.savecopyas (docfile, ocontext, ooptions, odata)
Sonunda, eğer sona erirse
Bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki


İkincio te basta che lo ce la aggiungo sotto nella stessa regola che hai postato tu perand quello che chiedo? Al momento mi esporta in iges, ma se volessi esportare in step come potrei and? Piace molto iges perché sono dosyaları pi pes karaanti di quelli in formato step. ti ringrazio ancora
 
Birkaç örneğim var, bunun çalıştığını düşünüyorum. .
Kod:
 Public sub addipartoccurrence()
“Geçmiş fabrika belgesini açın.
dim omingdoc as partdocument
Set omingdoc = thisapplication.documents.open("w:\commesse\aia\15030_modifica zona lavatrici\assieme2.c02.ipt", false)

“Demokrat tanımına bir referans ayarlayın.
dim ocompdef as partcomponentdefinition
set ocompdef = omingdoc.componentdefinition

“Bir ipart fabrikası olduğundan emin olun.
Eğer ocompdef.isiparttors = false o zaman
msgbox "chosen belgesi bir fabrika değildir.", vbexclamation
çıkış alt alt alt
Sonunda, eğer sona erirse

" fabrikaya bir referans koydu.
dim oipartling as iparttors
Oipartatif = ocompdef.ipartming

Fabrikadaki sıra sayısını elde edin.
dim inumrows as Full
Inumrows = oiparttors.tablerows.count

“Yeni bir montaj belgesi oluşturmak
dim odoc as assemblydocument
Set odoc = buapplication.documents.add(kassemblydocumentobject, , true)

dim ooccs as componentoccurrences
set ooccs = odoc.componentdefinition.occurrences

dim opos as matrix
set opos = buapplication.transientgeometry.creatematrix

dim ostep as double
Cevap = 0#
dim irow as long

Fabrikadaki her üye için bir olay ekleyin.
irow = 1 to inumrows

Ostep = ostep + 10

x eksen boyunca bir çeviri ekleyin
Opos.settranslation thisapplication.transientgeometry.createvector(ostep, ostep, 0)

dim oocc as componentoccurrence
Set oocc = ooccs.addipartmember("w:\commesse\aia\15030_modifica zona lavatrici\assieme2.c02.ipt", opos, irow)

Bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki

Odoc.save

dim veyaefdoc belge olarak
Her orefdoc için odoc.referenceddocuments
(veyaefdoc)
Bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki


Sonunda alt alt

public sub exporttostep(odoc as document)

dim exportpath as string
Exportpath = "c:\stp\"

" adım tercüman ekle.
dim osteptranslator as çevirmenaddin
Set osteptranslator = thisapplication.applicationaddins.itembyid("{90af7f40-0c01-11d5-8e83-0010b541cd80})

Eğer osteptranslator hiçbir şey değilse o zaman
msgbox "hauld not access step çevirmen."
çıkış alt alt alt
Sonunda, eğer sona erirse

dim ocontext as çeviricontext
Set ocontext = thisapplication.transientobjects.createtranslationcontext
dim ooptions as namevaluemap
Set ooptions = buapplication.transientobjects.createnamevaluemappp
Eğer osteptranslator.hassavecopyasoptions (buapplication.activedocument, ocontext, ooptions) sonra
"Uygulama protokolü.
2 = ap 203 - kontrol edilen tasarım
3 = ap 214 - otomotiv tasarımı
Ooptions.value("applicationprotocoltype") = 3

“Diğer seçenekler...
"Mükemmeller" = ""
"Mükemmellik" = ""
"Tek yazı" = ""
"Teklifler" = ""

Ocontext.type = kfilebrowseiomechanism

dim roomta as datamedium
set roomta = buapplication.transientobjects.createdatamedium


'format file name
dim fnamepos as long
"Son sırtın darbesi
fnamepos = instrrev(odoc.fullfilename, "\", -1)
dim docfname as string
‘Geçmişle dosya adı
Docfname = stringler.right(odoc.fullfilename, len(odoc.fullfilename) - fname)
'Doğal adı uzatmadan
dim shortname as string
kısa adı = stringler.left(docfname, len(docfname) - 4)

roomta.filename = exportpath & shortname & ".stp"

Osteptranslator.savecopyas (odoc, ocontext, ooptions, odata)
Sonunda, eğer sona erirse
Sonunda alt alt
 
Size çok teşekkür ederim, çok nazik, ofisteyim ve sonra bilmenize izin vereceğim. Yardımınız için çok teşekkür ederim
 
İyi sabah denedim, ama ilk mucit bana tüm alt ve işlev talimatlarının alt anadan sonra yerleştirilmesi gereken bir mesaj verdi.
Başladığımda, mucit bana talimatların izin verdiği ve setin artık desteklenmediği mesajı verdi.... boh! Nerede yanlışım? Ben mucitin ilogic menüsünden kural yaratıyorum ve sonra başladım, bir şekilde çevirmek zorunda mıyım?
 
Bir ilogic kural değildi ama bir etca programı (bu ilogic ile uyumludur), sadece set talimat kaldırmaya çalışabileceğiniz mesajlardan (daha önce değişkenlerin atamalarından önce, “kesinlikle = ...” gibi).
 
Çok teşekkür ederim, ama bunu mucitdeki yerleşik editörü kullanarak çevirmeyi başardım. Bu bir splinter gibi. Tekrar teşekkürler
 
Sizi programlamanın kullanımında tebrik ediyorum. Ancak mucit araçların altında ( başlangıç menüsünden) programlama işlemleri vardır.
Planlanan işlemler arasında "konvert dosyaları" kullanabilirsiniz, sonra başlangıç iptleri ve varış dosyası olarak adımı seçebilirsiniz. Sonra yolu verin ve hepsini yapın.
Merhaba.
 
Merhaba, problem sadece bir tane değil, bu tür ipt üyeleri binlerce, bir ipart olmak. Bu dosyayı dönüştürmeye göre, bununla ilgili hiçbir şey yapmadım, aynı anda oluşturulacak ve dönüştürülmelidir. Yukarıda yayınlanan makro sadece bunu yapıyor
 
Merhaba, problem sadece bir tane değil, bu tür ipt üyeleri binlerce, bir ipart olmak. Bu dosyayı dönüştürmeye göre, bununla ilgili hiçbir şey yapmadım, aynı anda oluşturulacak ve dönüştürülmelidir. Yukarıda yayınlanan makro sadece bunu yapıyor
Ipart listesini tarayıcıda açın ve açın (Staj penceresine girmeyin ama sadece tarayıcıdaki üyelere bakın). Sonra tüm üyeleri seçin > düğme dx > dosyaları üretir. Temel ipt altında yarattığınız alt katta tüm iptleri bulabilirsiniz. Daha sonra otomatik olarak bu klasörün adımlarını yapın.
 
İki yol, ama makro her şeyi bir kez yapar
Aslında, benimki bir eleştiri değildi ve seni takdir ettim.
Sadece programcı olmayanlar için ikinci bir manuel yol ekledim ve birilerinin planlanan operasyonların olasılıkları arasında bir dönüm noktasının zaten problemine yapılan cevabı bulamadığını biliyorum.
 
Bunu özleyeceğiz! Teşekkür ederim! Diğer şeyler arasında plan işlemleri Genellikle masa grupları dönüştürmek için kullanıyorum, ihracat için de yararlı olabileceğini düşünmedim! noktanızı çok yararlı gelebilir, bu yüzden belki de dönüştürmek için birçok ipt olan biri her şeyi yapabilir. bin, her nokta iyi kabul edilenden daha fazladır. Tekrar teşekkürler
 
Odayı yeniden açarım çünkü makroa küçük bir gelişme yapmak için yardım istemek istiyorum: şu anda bu makro, o zaman bir set yaratır, tüm üyeleri bu sette üretir, sizi bu şekilde kurtarmanızı ve üyelerin tüm adımlarını üretir. Birinin otomatik olarak varsayılan bir isim ayarlayarak axieme'yi kurtarabileceğini sormak istedim, bu yüzden sadece makro atlayın ve engellemeden bitirmeye başlar.
Teşekkür ederim çok teşekkür ederim
 
hi 3eolo, bunu nasıl vba editörü aracılığıyla yaptığınızı söyleyebilir misiniz????
Programı nereye yüklediğinizi gösteren bazı görüntülerle. 3eolo'yu belirttim çünkü o, va editörü aracılığıyla çalıştığını yazdı.
Ama kim beni hayal kırıklığına uğratmayı ve kabul etmeyi bilir

Teşekkür ederim çok teşekkür ederim

Bu küçük programı internetten yüklemeye çalıştım1616566763493.pngAma yanlışım
Ve ilogic ile yük bana 3elo tarafından gösterilen aynı hatayı veriyorsa
"İyi sabah denedim, ama ilk mucit bana tüm alt ve işlev talimatlarının alt anadan sonra yerleştirilmesi gerektiğini bir mesaj verdi"
 
İngilizce versiyonda bana:
Kod:
Halk altı damtest()
dim asmdoc as assemblydocument
Asmdoc = buapplication.activedocument

dim occ as componentoccurrence
Asmdoc.componentdefinition için.occurrences
dim partdoc as partdocument
Set partdoc = cc.definition.document

“Bölüm belgesi görünür hale getirin.
Partdoc.views.add

“Bunu bir sayfaya metal tipine dönüştürür.
Partdoc.subtype = "{9c464203-9bae-11d3-8bad-0060b0ce6bb4}"

dim smdef as pagemetalcomponentdefinition
Set smdef = partdoc.componentdefinition

“Bölümü açın. Bu, düz desen ortamını etkinleştirecektir.
'smdef.unfold (ho tolto)

“Yerel desen ortamından çıkın.
‘smdef.flatpattern.exitedit (ho tolto)

“Yakın ve belgeyi kurtar. Bu görüşe yakın olacak ama bu olacak
Aslında açık kalır çünkü toplantı hala bunu ifade eder.
call partdoc.close(Real)
Bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki bir sonraki
Sonunda alt alt
kalınlığı nasıl ayarlayacağını biliyorsanız. Eğer ekolojik kuralı burada açıklandığı gibi kullanmaya çalışırsa:
 
Ipart listesini tarayıcıda açın ve açın (Staj penceresine girmeyin ama sadece tarayıcıdaki üyelere bakın). Sonra tüm üyeleri seçin > düğme dx > dosyaları üretir. Temel ipt altında yarattığınız alt katta tüm iptleri bulabilirsiniz. Daha sonra otomatik olarak bu klasörün adımlarını yapın.
İyi akşam ama otomatik olarak bir klasörün adım dosyalarını ipt parçaları sayesinde nasıl oluşturursunuz
 

Forum İstatistikleri

Konular
58,521
Mesajlar
499,056
Kullanıcılar
104,110
Son Üye
ChristianR

Çevrimiçi Üyeler

Şu anda çevrimiçi üye yok.
Geri
Üst