• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

automatische Erstellung von Mitgliedern und Export Schritt

3olo

Guest
Hallo.
Ich habe Teile gemacht, aus denen ich je ein paar tausend Komponenten erzeugen werde.
Dies ist kein Problem, das bereits getan wurde, das Problem ist, dass ich jeden Schritt machen sollte, um ihn mit anderen Modellierern teilen zu können.
Ich habe aktuell alle Teile, die in einem Set und Müdigkeit erzeugt wurden, gebaut, eine ilogische Regel, die alle Komponenten dieser zusammen in Schrittformat umwandelt.
Ich frage höflich, ob jemand in der Lage ist, eine Regel zu schreiben, die alle Mitglieder des ipart erzeugt und dann automatisch jedes dieser generierten Mitglieder in Schritt.
Ich bin eine kleine VB-Hardware und kann nicht.
Du würdest mir eine große Freude machen.
Vielen Dank im Voraus
 
Sie haben Glück, weil eines der Beispiele im Programmführer tut, was Sie fragen
(Hilfe ina alto a dx > Gemeinschaftsressourcen > Programmplanungsleitfaden > Index, Suche ipartfactory Objekt, unten auf der Seite Links zu Beispielen.
Wenn Sie bereits ilogic rudiments haben sollten Sie kein Problem haben
Code:
öffentliche sub addipartoccurrence()
Öffnen Sie das Fabrikdokument unsichtbar.
dim ofactorydoc als Teildokumentation
set ofactorydoc = thisapplication.documents.open("c:\temp\ipartfactory.ipt", false)

' einen Verweis auf die Komponentendefinition setzen.
dim ocompdef als Teilkomponentendefinition
ocompdef = vonactorydoc.componentdefinition

Achten Sie darauf, dass wir eine Fabrik haben.
wenn ocompdef.isipartfactory = falsch dann
msgbox "Erwähltes Dokument ist keine Fabrik.", vbexclaming
Ausgang Sub
Ende

' einen Hinweis auf die Fabrik.
dim oipartfactory as ipartfactory
Oipartfactory = ocompdef.ipartfactory

Die Anzahl der Reihen in der Fabrik.
dim inumrows als ganze Zahl
Inumrows = oipartfactory.tablerows.count

' ein neues Montagedokument erstellen
dim odoc als Montagedokument
set odoc = thisapplication.documents.add(kassemblydocumentobject, , true)

dim ooccs als Komponenteoccurrences
ooccs = odoc.componentdefinition.occurrences

dim opos als Matrix
set opos = thisapplication.transientgeometry.creatematrix

dim ostep als Doppel
ostep = 0#
dim irow as long

' Fügen Sie ein Ereignis für jedes Mitglied in der Fabrik hinzu.
für irow = 1 zu Inumrows

ostep = ostep + 10

Fügen Sie eine Übersetzung entlang der x-Achse hinzu
opos.settranslation thisapplication.transientgeometry.createvector(ostep, ostep, 0)

dim oocc als Komponente
oocc = ooccs.addipartmember("c:\temp\ipartfactory.ipt ", opos, irow)
Nächste
Endteil
oder besser, es tut nicht genau, was Sie wollen, aber mit Ihrer Regel bereits gemacht Sie sind in Ordnung... dieses Programm setzt alle Elemente eines ipart zusammen
 
Grandissimo! grazie mille! in realtà sono ancora molto neanderthal con ilogic e uso questa regola per esportare tutte le parti di un assieme in iges ,l'ho trovata su un forum che non mi ricordo al momento,ma funziona alla perfezione

'das offene Dokument definieren
dim opendoc als Dokument
opendoc = thisdoc.document

'Definieren Sie Ordner, um Dateien in
ofolder = "c:\temp\igs files"

'Check für den Zielordner und erstellen Sie ihn, wenn es nicht existiert
wenn nicht system.io.directory.exists(ofolder) dann
system.io.directory.createdirectory(ofolder)
Ende

'Überprüfen Sie alle Dateien im offenen Dokument referenziert
dim docfile als Dokument
für jede docfile in opendoc.allreferenceddocuments
'Format Dateiname
dim fnamepos as long
'Post des letzten Rückens
fnamepos = instrrev(docfile.fullfilename, "\", -1)
dim docfname als String
'Dateiname mit Erweiterung
docfname = rechts(docfile.fullfilename, len(docfile.fullfilename) - fnamepos)
'Dateiname ohne Erweiterung
Kurzname = links(docfname, len(docfname) -4)

' Holen Sie den Übersetzer Add-in.
dim oigestranslator als Übersetzeraddin
oigestranslator = thisapplication.applicationaddins.itembyid _
({90af7f44-0c01-11d5-8e83-0010b541cd80})
dim ocontext als Übersetzungskontext
ocontext = thisapplication.transientobjects.createtranslationcontext
dim ooptions als namevaluemap
ooptions = thisapplication.transientobjects.createnamevaluemap
wenn oigestranslator.hassavecopyasoptions(docfile, ocontext, ooptions) dann
' set Geometrie Typ für Drahtrahmen.
' 0 = Oberflächen, 1 = Feststoff, 2 = Drahtrahmen
'ooptions.value("geometrytype") = 1
' andere Übersetzerwerte einzustellen:
' ooptions.value("solidfacetype") = n
' 0 = Nurbs, 1 = Analytik
' ooptions.value("Oberflächentyp") = n
' 0 = 143(gebunden), 1 = 144(getrimmt)
ocontext.type = iomechanismenum.kfilebrowseiomechanism
dim odata als Datenmedium
odata = thisapplication.transientobjects.createdatamedium
'Dateipfad für igs Datei festlegen
odata.filename = ofolder & "\" & kurzname & ".igs"
oigestranslator.savecopyas(docfile, ocontext, ooptions, odata)
Ende
Nächste


secondo te basta che lo ce la aggiungo sotto nella stessa regola che hai postato tu per fare quello che chiedo? al momento mi esporta in iges, ma se volessi esportare in Schritt kommen potrei fare? nicht mi piace molto iges perché sono dateien più pesanti di quelli in formato schritt. Ti ringrazio ancora
 
Ich habe ein paar Beispiele, glaube ich, es funktioniert. .
Code:
 öffentliche sub addipartoccurrence()
Öffnen Sie das Fabrikdokument unsichtbar.
dim ofactorydoc als Teildokumentation
set ofactorydoc = thisapplication.documents.open("w:\commesse\aia\15030_modifica zona lavatrici\assieme2.c02.ipt", falsch)

' einen Verweis auf die Komponentendefinition setzen.
dim ocompdef als Teilkomponentendefinition
ocompdef = vonactorydoc.componentdefinition

Achten Sie darauf, dass wir eine Fabrik haben.
wenn ocompdef.isipartfactory = falsch dann
msgbox "Erwähltes Dokument ist keine Fabrik.", vbexclaming
Ausgang Sub
Ende

' einen Hinweis auf die Fabrik.
dim oipartfactory as ipartfactory
Oipartfactory = ocompdef.ipartfactory

Die Anzahl der Reihen in der Fabrik.
dim inumrows als ganze Zahl
Inumrows = oipartfactory.tablerows.count

' ein neues Montagedokument erstellen
dim odoc als Montagedokument
set odoc = thisapplication.documents.add(kassemblydocumentobject, , true)

dim ooccs als Komponenteoccurrences
ooccs = odoc.componentdefinition.occurrences

dim opos als Matrix
set opos = thisapplication.transientgeometry.creatematrix

dim ostep als Doppel
ostep = 0#
dim irow as long

' Fügen Sie ein Ereignis für jedes Mitglied in der Fabrik hinzu.
für irow = 1 zu Inumrows

ostep = ostep + 10

Fügen Sie eine Übersetzung entlang der x-Achse hinzu
opos.settranslation thisapplication.transientgeometry.createvector(ostep, ostep, 0)

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

Nächste

odoc.save

dim orefdoc als Dokument
für jedes orefdoc in odoc.referenceddocuments
Call exporttostep(orefdoc)
Nächste


Endteil

Public Sub exporttostep(odoc als Dokument)

dim exportpath als string
exportpath = "c:\stp\"

' Holen Sie den Schritt Übersetzer Add-in.
dim osteptranslator als Übersetzeraddin
set osteptranslator = thisapplication.applicationaddins.itembyid("{90af7f40-0c01-11d5-8e83-0010b541cd80}")

wenn osteptranslator nichts ist
msgbox "Kann nicht auf Schritt Übersetzer zugreifen."
Ausgang Sub
Ende

dim ocontext als Übersetzungskontext
set ocontext = thisapplication.transientobjects.createtranslationcontext
dim ooptions als namevaluemap
set ooptions = thisapplication.transientobjects.createnamevaluemap
wenn osteptranslator.hassavecopyasoptions(thisapplication.activedocument, ocontext, ooptions) dann
' setzen Anwendungsprotokoll.
' 2 = ap 203 - Konfiguration gesteuert
' 3 = ap 214 - Automobildesign
ooptions.value("applicationprotocoltype") = 3

Andere Optionen...
'ooptions.value("autor") = "
'ooptions.value("Autorisierung") = "
'ooptions.value("description") = "
'ooptions.value("Organisation") = "

ocontext.type = kfilebrowseiomechanism

dim odata als Datenmedium
set odata = thisapplication.transientobjects.createdatamedium


'Format Dateiname
dim fnamepos as long
'Post des letzten Rückens
fnamepos = instrrev(odoc.fullfilename, "\", -1)
dim docfname als String
'Dateiname mit Erweiterung
docfname = strings.right(odoc.fullfilename, len(odoc.fullfilename) - fnamepos)
'Dateiname ohne Erweiterung
dim Shortname als String
Kurzname = strings.left(docfname, len(docfname) - 4)

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

call osteptranslator.savecopyas(odoc, ocontext, ooptions, odata)
Ende
Endteil
 
Vielen Dank, sehr freundlich, ich bin im Büro und dann lasse ich Sie wissen. Vielen Dank für Ihre Hilfe
 
Guten Morgen, ich habe es versucht, aber der erste Erfinder gab mir eine Nachricht, dass alle Sub- und Funktionsanleitungen nach Sub-Main gesetzt werden sollten(), dann habe ich es Sub-Main umbenannt.
Als ich neu gestartet wurde, gab mir der Erfinder die Botschaft, dass die Anweisungen lassen und gesetzt werden nicht mehr unterstützt.... boh! Wo bin ich falsch? Ich schaffe die Regel aus dem ilogischen Menü des Erfinders und dann muss ich es starten, ich muss es irgendwie drehen?
 
war nicht eine ilogische Regel, sondern ein vba-Programm (das mit ilogic kompatibel ist); aus den Nachrichten, die Sie denken, können Sie einfach versuchen, den eingestellten Befehl zu entfernen (sie sind vor Zuordnungen von Variablen, wie "Set entgegengesetzt = ...")
 
Vielen Dank, aber ich habe es geschafft, es mit dem eingebauten Editor in Erfinder zu drehen. Es ist wie ein Splitter. Danke.
 
Ich gratuliere Ihnen zur Nutzung der Programmierung. Allerdings gibt es unter den Erfinderwerkzeugen (aus dem Startmenü) Programmiervorgänge.
zwischen geplanten Operationen können Sie "Konvertdateien" verwenden, dann wählen Sie die Start-Ipts und als Ankunftsdatei den Schritt. dann den Weg geben und alles tun.
Hi.
 
Hi, das Problem ist, dass der ipt nur eins ist, aber die Mitglieder solcher ipt sind tausende, ein ungeteilt. Durch die Konvertierung der Datei dort mache ich nichts darüber, es sind alle seine Mitglieder, die gleichzeitig generiert und konvertiert werden müssen. das oben veröffentlichte Makro nur
 
Hi, das Problem ist, dass der ipt nur eins ist, aber die Mitglieder solcher ipt sind tausende, ein ungeteilt. Durch die Konvertierung der Datei dort mache ich nichts darüber, es sind alle seine Mitglieder, die gleichzeitig generiert und konvertiert werden müssen. das oben veröffentlichte Makro nur
Öffnen Sie den ipt und öffnen Sie die ipart-Liste auf dem Browser (nicht in das Editierfenster eingeben, sondern einfach Mitglieder auf dem Browser-Knoten anzeigen). Wählen Sie dann alle Mitglieder > Taste dx > generiert Dateien. finden Sie alle ipts im Unterordner, die Sie unter dem Grund ipt erstellen. dann automatisch die Schritte des Ordners.
 
sind zwei Straßen, aber das Makro tut alles auf einmal
In der Tat war meins keine Kritik und ich habe dich kompliziert.
Ich habe einfach einen zweiten manuellen Weg für diejenigen hinzugefügt, die nicht Programmierer sind und die wissen, dass zwischen den Möglichkeiten der geplanten Operationen jemand nicht die Antwort auf sein Problem gefunden.
 
Wir würden es vermissen! Danke! unter anderem planen Operationen Ich benutze, um Gruppen von Tabellen in der Regel zu konvertieren, Ich dachte nicht, dass es auch für Exporte nützlich sein könnte! kann sehr nützlich Ihren Punkt zurückkommen, so kann vielleicht jemand, der so viele Ipts zu konvertieren hat, alles so tun. tausend, jeder Punkt ist mehr als gut angenommen. Danke.
 
Ich eröffne den Faden wieder, weil ich um Hilfe bitten möchte, um eine kleine Verbesserung für das Makro zu machen: derzeit erzeugt dieses Makro alle Mitglieder des ipart dann ein Set, legt alle in diesem Set erzeugten Mitglieder, hört auf, Sie zu fragen, wo Sie diese zusammen speichern und mit welchem Namen, dann erzeugt alle Schritte der Mitglieder. Ich wollte fragen, ob jemand den Axiem automatisch speichern kann, indem er einen Standardnamen feststellt, also einfach das Makro werfen und er arrangiert von Anfang bis Ende ohne Blockierung.
Vielen Dank
 
Hallo 3eolo, könnten Sie mir sagen, wie Sie es durch Vba-Editor funktioniert?
mit einem Bild, wo Sie das Programm hochladen. Ich habe 3eolo angezeigt, weil er schrieb, es funktionierte durch vba Editor
aber wer weiß, wie man mich enttäuscht und akzeptiert

Vielen Dank

Ich versuchte, dieses kleine Programm aus dem Internet zu laden1616566763493.pngaber ich bin falsch
und wenn die Last mit ilogic gibt mir den gleichen Fehler zitiert von 3elo mehr auf
"Guten Morgen habe ich es versucht, aber der erste Erfinder gab mir eine Nachricht, dass alle Unter- und Funktionsanweisungen nach dem Unterhaupt platziert werden sollten(), dann habe ich es unter dem Hauptnamen umbenannt."
 
zu mir in der englischen Version funktioniert:
Code:
Public sub createmtest()
dim asmdoc als Montagedokument
set asmdoc = thisapplication.activedocument

dim occ als Komponente
für jeden okt in asmdoc.componentdefinition.occurrences
dim partdoc als partdocument
set partdoc = occ.definition.document

' das Teildokument sichtbar machen.
Teildoc.views.de

' es in einen Blechtyp umwandeln.
Teildoc.subtype = "{9c464203-9bae-11d3-8bad-0060b0ce6bb4}"

dim smdef als Blechkomponentendefinition
set smdef = partdoc.komponentendefinition

Entfalte den Teil. dies aktiviert die flache Musterumgebung.
'smdef.unfold (ho tolto)

' die flache Musterumgebung verlassen.
'smdef.flatpattern.exitedit (ho tolto)

' schließen und speichern Sie das Dokument. dies wird die Ansicht schließen, aber es wird
' tatsächlich offen bleiben, weil die Baugruppe sie noch referenziert.
Call partdoc.close(true)
Nächste
Endteil
wenn Sie wissen, wie man die Dicke in Ordnung setzt. wenn nicht nach dem vba-Makro versuchen, die ilogische Regel wie hier erläutert zu verwenden:
 
Öffnen Sie den ipt und öffnen Sie die ipart-Liste auf dem Browser (nicht in das Editierfenster eingeben, sondern einfach Mitglieder auf dem Browser-Knoten anzeigen). Wählen Sie dann alle Mitglieder > Taste dx > generiert Dateien. finden Sie alle ipts im Unterordner, die Sie unter dem Grund ipt erstellen. dann automatisch die Schritte des Ordners.
guten Abend, aber wie generieren Sie automatisch die Schrittdateien eines Ordners von ipt Teilen dank
 

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben