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

Exportieren Sie DWG-Flachmodell aus der Bearbeitung zusammen mit iLogic

  • Ersteller Ersteller CaesarXXI
  • Erstellt am Erstellt am

CaesarXXI

Guest
Bye to all,

Ich brauche Hilfe mit einer ilogischen Regel, ich bin kein Experte und dieser Code wird gemacht, indem Leimkopien auf das Netz genommen und ein wenig Intuition.

das letzte Ergebnis, das ich möchte, ist, dass ich, wenn ich speichern, automatisch das flache Modell in dwg in einem bestimmten Ordner (die mit der Regel erstellt wird) sowohl beim Speichern der Datei in “Umwelt” Blatt, als auch in “Umwelt” zusammen mit dem Befehl Modifca (so ohne die Datei wieder zu öffnen).

Ich habe 3 Regeln innerhalb der Blattdatei erstellt, aktiviert der erste "master" nach dem Speichern der Datei mit Ereignisauslöser; diese Regel sollte überprüfen, ob sie in "Umwelt" Blatt oder zusammen sind und laden Sie dann die kombinierte Regel zum Export der dwg. wahrscheinlich können Sie alles mit einer einzigen Regel tun, aber während meiner Versuche ist dies das Ergebnis am nächsten meiner Erwartungen.

alles funktioniert gut und ich würde es gerne mit dem Blatt, aber wenn ich versuche, mit dem Axiem zu ändern, bekomme ich einen Fehler und erspare nicht die neuen Geometrien.

die Fehlermeldung ist:
Errore_01.JPG
Errore_01_info.JPGHauptregel:
Code:
'Master'
dim odoc als Dokument = thisdoc.document
wenn odoc.documenttype = erfinder.documenttypeenum.kpartdocumentobject and odoc.subtype = "{9c464203-9bae-11d3-8bad-0060b0ce6bb4}" dann
wenn Art dieser Anwendung. activeeditobject ist dann Skizze
messagebox.show("Sie haben eine Skizze, die in einer Teildatei aktiv ist."
andere
ilogicvb.runrule("salva_modelopiatto")
Ende
'Assembly-Datei
wenn odoc.documenttype = erfinder.documenttypeenum.kassemblydocumentobject dann
wenn odoc.componentdefinition.isiassemblyfactory dann
messagebox.show("das ist eine iassemblyfactory", "i will stop")
zurück
andere, wenn odoc.componentdefinition.isiassemblymember dann
messagebox.show("das ist ein iassemblymember", "i will stop")
zurück
Ende
wenn Art dieser Anwendung. activeeditobject ist dann Skizze
messagebox.show("Sie haben eine Skizze aktiv in einer Montagedatei.", "Über die Skizze"
andere
ilogicvb.runrule("salva_modelopiatto_01")
Ende
Ende
Regola per lamiera:
Code:
' salva_modellopiatto
rusure = messagebox.show( _
"salva dwg dal modello piatto." - Ja.
& vblf & "premere ja per continuare." - Ja.
& vblf & "premere no per abortire". - Ja.
& vblf & "attenzione il cambio di spessore deve essere gestito a mano.", "ilogic - elabora dwg file ",messageboxbuttons.yesno)
wenn rusure = vbno dann
zurück
Ende
opath = thisdoc.path
aktuellestyle = Sheetmetal.getactivestyle()
codice_regola = rechts(currentstyle, 10)
num_part=iproperties.value("project", "part number")
codiceinizio = links(num_part, 3)
spezifia la cartella di destinazione per il dwg
vonolder = thisdoc.path & "\" & "laserdwg" & "\" & codiceinizio & "_" & codice_regola
'controlla se la cartella esiste, oppure la crea
wenn nicht system.io.directory.exists(ofolder) dann
system.io.directory.createdirectory(ofolder)
Ende

' --inizio-- questa parte funziona solo per la parte lamiera e non in modifica da assieme
dim odoc = thisapplication.activedocument
dim ocompdef als Blechkomponentendefinition = nichts
wenn odoc.documenttype = documenttypeenum.kassemblydocumentobject dann
dim assemdoc als Montagedokument = odoc
'dim odoc = thisapplication.documents.open(iptpathname, false)
ocompdef = assemdoc.componentdefinition.sheetmetalkomponentendefinition
sonstif odoc.documenttype = documenttypeenum.kpartdocumentobject dann
dim partdoc als partdocument = odoc
ocompdef = partdoc.componentdefinition'.sheetmetalcomponentdefinition
Ende
'controlla se esiste un modello piatto; altrimenti lo crea
wenn ocompdef.hasflatpattern = falsch dann
ocompdef.unfold
andere
ocompdef.flatpattern.edit
Ende
' --fine-- questa parte funziona solo per la parte lamiera e non in modifica da assieme

' --inizio-- solo per lamiera
'controlla se esiste un modello piatto; altrimenti lo crea
'dim odoc als Teildokumentation
'odoc = thisapplication.activedocument
'dim ocompdef als Blechkomponentendefinition
'ocompdef = odoc.componentdefinition
Wenn ocompdef.hasflatpattern = falsch dann
'ocompdef.unfold
'elsen'
'ocompdef.flatpattern.edit
Wenn
' --fine-- solo per lamiera

'settaggio dwg'
dim optionlist als list(von string) = neue list(von string)()

Optionlist.add("acadversion=2004")
optionlist.add("outerprofilelayer=0")
optionlist.add("interiorprofilelayer=0")

dim sout als String
Dim Spath als String
sout = "flat pattern dwg?acadversion=2004&outerprofilelayer=iv_interior_profile" _
+ "&invisiblelayers=iv_tangent;iv_feature_profile_down;iv_arc_centers;iv_bend;iv_bend_down;iv_tool_center;iv_tool_center_down;iv_feature_profile;iv_feature_profile_down"

für jeden Opt in Optionsliste
sout = sout & "&" & opt
Nächste

dim sfname als String
sfname = ofolder & "\" & thisdoc.filename(false) & ".dwg"

'esporta il file dwg
ocompdef.dataio.writedatatofile(sout, sfname)
dim osmdef als Blechkomponentendefinition
osmdef = odoc.Komponentendefinition
osmdef.flatpattern.exit
messagebox.show("dwg salvato in: " & sfname, " lamiera - esportazione completata!",messageboxbuttons.ok)
Regel für zusammen:
Code:
'salva_modellopiatto_01
wenn diese Anwendung.activedocumenttype <> documenttypeenum.kassemblydocumentobject dann
messagebox.show("e' un'assieme. (non fa niente, ma la regola viene eseguita; messaggio da eliminare)", "controllo")
Ausgang Sub
Ende
opath = thisdoc.path
aktuellestyle = Sheetmetal.getactivestyle()
codice_regola = rechts(currentstyle, 10)
num_part=iproperties.value("project", "part number")
codiceinizio = links(num_part, 3)
spezifia la cartella di destinazione per il dwg
vonolder = thisdoc.path & "\" & "laserdwg" & "\" & codiceinizio & "_" & codice_regola
'controlla se la cartella esiste, oppure la crea
wenn nicht system.io.directory.exists(ofolder) dann
system.io.directory.createdirectory(ofolder)
Ende

' --inizio-- questa parte funziona solo per la parte lamiera e non in modifica da assieme
dim odoc = thisapplication.activedocument
dim ocompdef als Blechkomponentendefinition = nichts
wenn odoc.documenttype = documenttypeenum.kassemblydocumentobject dann
dim assemdoc als Montagedokument = odoc
'dim odoc = thisapplication.documents.open(iptpathname, false)
ocompdef = assemdoc.componentdefinition.sheetmetalkomponentendefinition
sonstif odoc.documenttype = documenttypeenum.kpartdocumentobject dann
dim partdoc als partdocument = odoc
ocompdef = partdoc.componentdefinition'.sheetmetalcomponentdefinition
Ende
'controlla se esiste un modello piatto; altrimenti lo crea
wenn ocompdef.hasflatpattern = falsch dann
ocompdef.unfold
andere
ocompdef.flatpattern.edit
Ende
' --fine-- questa parte funziona solo per la parte lamiera e non in modifica da assieme

' --inizio-- solo per lamiera
'controlla se esiste un modello piatto; altrimenti lo crea
'dim odoc als Teildokumentation
'odoc = thisapplication.activedocument
'dim ocompdef als Blechkomponentendefinition
'ocompdef = odoc.componentdefinition
Wenn ocompdef.hasflatpattern = falsch dann
'ocompdef.unfold
'elsen'
'ocompdef.flatpattern.edit
Wenn
' --fine-- solo per lamiera

'settaggio dwg'
dim optionlist als list(von string) = neue list(von string)()

Optionlist.add("acadversion=2004")
optionlist.add("outerprofilelayer=0")
optionlist.add("interiorprofilelayer=0")

dim sout als String
Dim Spath als String
sout = "flat pattern dwg?acadversion=2004&outerprofilelayer=iv_interior_profile" _
+ "&invisiblelayers=iv_tangent;iv_feature_profile_down;iv_arc_centers;iv_bend;iv_bend_down;iv_tool_center;iv_tool_center_down;iv_feature_profile;iv_feature_profile_down"

für jeden Opt in Optionsliste
sout = sout & "&" & opt
Nächste

dim sfname als String
sfname = ofolder & "\" & thisdoc.filename(false) & ".dwg"

'esporta il file dwg
ocompdef.dataio.writedatatofile(sout, sfname)
dim osmdef als Blechkomponentendefinition
osmdef = odoc.Komponentendefinition
osmdef.flatpattern.exit
messagebox.show("dwg salvato in: " & sfname, " assieme - esportazione completata!",messageboxbuttons.ok)
Kann mir jemand eine Lösung sagen? Danke.
 
Hi.
für ein paar Tage habe ich wirklich keine Zeit, gut zu aussehen, aber du wirst kompliziert. was ich tun würde, verbinden Sie Ihre Exportregel mit den Ereignis-Triggerteilen> vor dem Speichern des Dokuments, starten Sie die Regel mit der Überprüfung, dass das Teil ein Blatt ist und dann möglicherweise mit dem Export fortfahren: Wenn ein Teil gespeichert wird, wird die Regel durchgeführt und "thisdoc" zeigt auf das Dokument, das den Trigger verursacht hat, unabhängig davon, ob Sie in einem Set sind, in der lokalen Bearbeitung oder in der Bearbeitung des einzelnen Teils. ideal zur Verwendung einer externen Regel.
 
Hallo, Katarakt.
Vielen Dank für Ihr Interesse, Ich habe die bestehende Regel aus Ihrem Rat geändert.
Leider ändert sich das Ergebnis nicht, Sie können im Einzelteil exportieren, aber nicht während der axieme editin. (Ich änderte den Auslöser im Teil vor dem Speichern des Dokuments) Ich hänge die Regel an, weil ich nicht praktisch bin, ich kann missverstanden haben.
Code:
syntaxeditor code snippet'salva_modellopiatto_03
'controlla se il file è una parte
dim partdoc als partdocument
wenn diese Anwendung.activedocumenttype <> kpartdocumentobject dann
messagebox.show ("si prega di aprire un documento part", "ilogic")
Ende
'messaggio di testo si/no
rusure = messagebox.show( _
"salva dwg dal modello piatto." - Ja.
& vblf & "premere ja per continuare." - Ja.
& vblf & "premere no per abortire". - Ja.
& vblf & "attenzione il cambio di spessore deve essere gestito a mano.", "ilogic - elabora dwg file ",messageboxbuttons.yesno)
wenn rusure = vbno dann
zurück
Ende

opath = thisdoc.path
aktuellestyle = Sheetmetal.getactivestyle()
codice_regola = rechts(currentstyle, 10)
num_part=iproperties.value("project", "part number")
codiceinizio = links(num_part, 3)
spezifia la cartella di destinazione per il dwg
vonolder = thisdoc.path & "\" & "laserdwg" & "\" & codiceinizio & "_" & codice_regola
'controlla se la cartella esiste, oppure la crea
wenn nicht system.io.directory.exists(ofolder) dann
system.io.directory.createdirectory(ofolder)
Ende

' --inizio-- solo per lamiera
'controlla se esiste un modello piatto; altrimenti lo crea
dim odoc als Teildokumentation
odoc = thisapplication.activedocument
dim ocompdef als Blechkomponentendefinition
ocompdef = odoc.Komponentendefinition
wenn ocompdef.hasflatpattern = falsch dann
ocompdef.unfold
andere
ocompdef.flatpattern.edit
Ende
' --fine-- solo per lamiera

'settaggio dwg'
dim optionlist als list(von string) = neue list(von string)()

Optionlist.add("acadversion=2004")
optionlist.add("outerprofilelayer=0")
optionlist.add("interiorprofilelayer=0")

dim sout als String
Dim Spath als String
sout = "flat pattern dwg?acadversion=2004&outerprofilelayer=iv_interior_profile" _
+ "&invisiblelayers=iv_tangent;iv_feature_profile_down;iv_arc_centers;iv_bend;iv_bend_down;iv_tool_center;iv_tool_center_down;iv_feature_profile;iv_feature_profile_down"

für jeden Opt in Optionsliste
sout = sout & "&" & opt
Nächste

dim sfname als String
sfname = ofolder & "\" & thisdoc.filename(false) & ".dwg"

'esporta il file dwg
ocompdef.dataio.writedatatofile(sout, sfname)
dim osmdef als Blechkomponentendefinition
osmdef = odoc.Komponentendefinition
osmdef.flatpattern.exit
'messaggio di testo ok
messagebox.show("dwg salvato in: " & sfname, " lamiera - esportazione completata!",messageboxbuttons.ok)
während der Bearbeitung von zusammen, wenn gespeichert, ich aus dem Kontrollnachricht Teil "Bitte öffnen Sie ein Teildokument", "ilogic"
Anhang anzeigen 6606060und poi questo fehler...
Errore_03.JPG

Errore_03_infoA.JPG
Errore_03_infoB.JPGIch danke Ihnen für Ihre Zeit und keine Sorge, entweder kann ich sofortige Antworten geben, in der Zwischenzeit mache ich andere Tests.
ein Gruß
 

Anhänge

  • Errore_03_part.JPG
    Errore_03_part.JPG
    12,8 KB · Aufrufe: 72
auf der Fliege, um die Automatisierungen von ilogic vien auszunutzen, um zu empfehlen, "ein" Ihr Dokument mit
odoc = thisdoc.document

(in ilogic thisdoc ist das Dokument, das den Auslöser der Regel auslöst)

Diese Anwendung.activedocument.documenttype ist das Dokument, das Sie im Hauptfenster geöffnet haben, so dass es immer den Axiem haken würde.
 
auf der Fliege, um die Automatisierungen von ilogic vien auszunutzen, um zu empfehlen, "ein" Ihr Dokument mit
odoc = thisdoc.document

(in ilogic thisdoc ist das Dokument, das den Auslöser der Regel auslöst)

Diese Anwendung.activedocument.documenttype ist das Dokument, das Sie im Hauptfenster geöffnet haben, so dass es immer den Axiem haken würde.
Arbeiten, vielen Dank (y)
 
Guten Morgen.
Ich unterstütze diese Aussprache, weil ich ein solches Problem habe.
Ich muss das flache Modell exportieren, das für alle ipt Dateien erstellt wurde, die offen sind.

verwenden Sie diese ilogische Regel:
Code:
Setzen Sie Ihren Dateipfad hier ein:
setfilepath = "\srvfs\ufftecnico\anno2022\dbf\07625 - parapetto copertura\programmazione\3d"

dim partdoc als partdocument
wenn diese Anwendung.activedocumenttype <> kpartdocumentobject dann
messagebox.show ("bitte ein Teildokument öffnen", "ilogic")
Ende

„Scheck für flaches Muster >> Erstellen Sie eine, wenn nötig
dim odoc als Teildokumentation
odoc = thisapplication.activedocument
dim ocompdef als Blechkomponentendefinition
ocompdef = odoc.Komponentendefinition
wenn ocompdef.hasflatpattern = falsch dann
ocompdef.unfold

andere
ocompdef.flatpattern.edit
Ende

'dxf Einstellungen
dim sout als String
Dim Spath als String
sout = "flat pattern dxf?acadversion=2000" _
+ "&outerprofilelayer=0" _
+ "&outerprofilecolor=0;0;0" _
+ "&interiorprofilelayer=0" _
+ "&interiorprofilelayercolor=0;0;0" _
+ "&benduplayercolor=255;0;0" _
+ "&benddownlayercolor=255;0;0" _
+ "&featurprofilesuplayercolor=255;255;0" _
+ "&unconsumedsketcheslayercolor=255;255;0" _
+ "&invisiblelayers=iv_arc_centers;iv_tangent;iv_roll;iv_roll_tangent;iv_altrep_back;iv_altrep_front;iv_feature_profile_down;iv_tool_center_down;digi_marker_tool_1;digi_marker_tool_2;iv_inner_profile"

odoc = thisdoc.document

dim ofiledlg als Erfinder. Dateidialog = nichts
Erfindervb.application.createfiledialog(ofiledlg)

voniledlg.initialdirectory = thisdoc.workspacepath()
voniledlg.filename = thisdoc.filename & ".dxf" 'set die Eigenschaft als pro Anforderung
voniledlg.cancelerror = true
auf Fehlerwiederaufnahme
voniledlg.showsave()
wenn err.number <> 0)
messagebox.show("keine Datei gespeichert.", "ilogic: dialog storniert")
sonstif ofiledlg.filename <> " dann
myfile = ofiledlg.filename
odoc.saveas(myfile, true) 'true = speichern als copy & false = speichern als
Ende

'Exportieren Sie den dxf und falten Sie das Modell wieder hoch
ocompdef.dataio.writedatatofile(sout, ofiledlg.filename )
dim osmdef als Blechkomponentendefinition
osmdef = odoc.Komponentendefinition
osmdef.flatpattern.exit

'Diese Anwendung. statusbartext = "@clintbrown3d: dxf gespeichert an: " & sfname
'messagebox.show("dxf gespeichert an: " & ofiledlg.filename , "@clintbrown3d: Erfolg!")
Wenn ich es auf einer einzigen Datei ausführe, habe ich kein Problem, aber wenn ich es mit einem Trigger benutze, um alle offenen Dateien zu speichern, erstellt es alle die gleichen dxf. mit offenen Dateinamen, aber mit aktiver Datei Musterdatei.
Ich hoffe, ich war klar

Vorschläge zur Änderung der Regel?

Vielen Dank
 
Bye to all,

Ich brauche Hilfe mit einer ilogischen Regel, ich bin kein Experte und dieser Code wird gemacht, indem Leimkopien auf das Netz genommen und ein wenig Intuition.

das letzte Ergebnis, das ich möchte, ist, dass ich, wenn ich speichern, automatisch das flache Modell in dwg in einem bestimmten Ordner (die mit der Regel erstellt wird) sowohl beim Speichern der Datei in “Umwelt” Blatt, als auch in “Umwelt” zusammen mit dem Befehl Modifca (so ohne die Datei wieder zu öffnen).

Ich habe 3 Regeln innerhalb der Blattdatei erstellt, aktiviert der erste "master" nach dem Speichern der Datei mit Ereignisauslöser; diese Regel sollte überprüfen, ob sie in "Umwelt" Blatt oder zusammen sind und laden Sie dann die kombinierte Regel zum Export der dwg. wahrscheinlich können Sie alles mit einer einzigen Regel tun, aber während meiner Versuche ist dies das Ergebnis am nächsten meiner Erwartungen.

alles funktioniert gut und ich würde es gerne mit dem Blatt, aber wenn ich versuche, mit dem Axiem zu ändern, bekomme ich einen Fehler und erspare nicht die neuen Geometrien.

die Fehlermeldung ist:
Anhang anzeigen 66047
Anhang anzeigen 66048Hauptregel:
Code:
'Master'
dim odoc als Dokument = thisdoc.document
wenn odoc.documenttype = erfinder.documenttypeenum.kpartdocumentobject and odoc.subtype = "{9c464203-9bae-11d3-8bad-0060b0ce6bb4}" dann
wenn Art dieser Anwendung. activeeditobject ist dann Skizze
messagebox.show("Sie haben eine Skizze, die in einer Teildatei aktiv ist."
andere
ilogicvb.runrule("salva_modelopiatto")
Ende
'Assembly-Datei
wenn odoc.documenttype = erfinder.documenttypeenum.kassemblydocumentobject dann
wenn odoc.componentdefinition.isiassemblyfactory dann
messagebox.show("das ist eine iassemblyfactory", "i will stop")
zurück
andere, wenn odoc.componentdefinition.isiassemblymember dann
messagebox.show("das ist ein iassemblymember", "i will stop")
zurück
Ende
wenn Art dieser Anwendung. activeeditobject ist dann Skizze
messagebox.show("Sie haben eine Skizze aktiv in einer Montagedatei.", "Über die Skizze"
andere
ilogicvb.runrule("salva_modelopiatto_01")
Ende
Ende
Regola per lamiera:
Code:
' salva_modellopiatto
rusure = messagebox.show( _
"salva dwg dal modello piatto." - Ja.
& vblf & "premere ja per continuare." - Ja.
& vblf & "premere no per abortire". - Ja.
& vblf & "attenzione il cambio di spessore deve essere gestito a mano.", "ilogic - elabora dwg file ",messageboxbuttons.yesno)
wenn rusure = vbno dann
zurück
Ende
opath = thisdoc.path
aktuellestyle = Sheetmetal.getactivestyle()
codice_regola = rechts(currentstyle, 10)
num_part=iproperties.value("project", "part number")
codiceinizio = links(num_part, 3)
spezifia la cartella di destinazione per il dwg
vonolder = thisdoc.path & "\" & "laserdwg" & "\" & codiceinizio & "_" & codice_regola
'controlla se la cartella esiste, oppure la crea
wenn nicht system.io.directory.exists(ofolder) dann
system.io.directory.createdirectory(ofolder)
Ende

' --inizio-- questa parte funziona solo per la parte lamiera e non in modifica da assieme
dim odoc = thisapplication.activedocument
dim ocompdef als Blechkomponentendefinition = nichts
wenn odoc.documenttype = documenttypeenum.kassemblydocumentobject dann
dim assemdoc als Montagedokument = odoc
'dim odoc = thisapplication.documents.open(iptpathname, false)
ocompdef = assemdoc.componentdefinition.sheetmetalkomponentendefinition
sonstif odoc.documenttype = documenttypeenum.kpartdocumentobject dann
dim partdoc als partdocument = odoc
ocompdef = partdoc.componentdefinition'.sheetmetalcomponentdefinition
Ende
'controlla se esiste un modello piatto; altrimenti lo crea
wenn ocompdef.hasflatpattern = falsch dann
ocompdef.unfold
andere
ocompdef.flatpattern.edit
Ende
' --fine-- questa parte funziona solo per la parte lamiera e non in modifica da assieme

' --inizio-- solo per lamiera
'controlla se esiste un modello piatto; altrimenti lo crea
'dim odoc als Teildokumentation
'odoc = thisapplication.activedocument
'dim ocompdef als Blechkomponentendefinition
'ocompdef = odoc.componentdefinition
Wenn ocompdef.hasflatpattern = falsch dann
'ocompdef.unfold
'elsen'
'ocompdef.flatpattern.edit
Wenn
' --fine-- solo per lamiera

'settaggio dwg'
dim optionlist als list(von string) = neue list(von string)()

Optionlist.add("acadversion=2004")
optionlist.add("outerprofilelayer=0")
optionlist.add("interiorprofilelayer=0")

dim sout als String
Dim Spath als String
sout = "flat pattern dwg?acadversion=2004&outerprofilelayer=iv_interior_profile" _
+ "&invisiblelayers=iv_tangent;iv_feature_profile_down;iv_arc_centers;iv_bend;iv_bend_down;iv_tool_center;iv_tool_center_down;iv_feature_profile;iv_feature_profile_down"

für jeden Opt in Optionsliste
sout = sout & "&" & opt
Nächste

dim sfname als String
sfname = ofolder & "\" & thisdoc.filename(false) & ".dwg"

'esporta il file dwg
ocompdef.dataio.writedatatofile(sout, sfname)
dim osmdef als Blechkomponentendefinition
osmdef = odoc.Komponentendefinition
osmdef.flatpattern.exit
messagebox.show("dwg salvato in: " & sfname, " lamiera - esportazione completata!",messageboxbuttons.ok)
Regel für zusammen:
Code:
'salva_modellopiatto_01
wenn diese Anwendung.activedocumenttype <> documenttypeenum.kassemblydocumentobject dann
messagebox.show("e' un'assieme. (non fa niente, ma la regola viene eseguita; messaggio da eliminare)", "controllo")
Ausgang Sub
Ende
opath = thisdoc.path
aktuellestyle = Sheetmetal.getactivestyle()
codice_regola = rechts(currentstyle, 10)
num_part=iproperties.value("project", "part number")
codiceinizio = links(num_part, 3)
spezifia la cartella di destinazione per il dwg
vonolder = thisdoc.path & "\" & "laserdwg" & "\" & codiceinizio & "_" & codice_regola
'controlla se la cartella esiste, oppure la crea
wenn nicht system.io.directory.exists(ofolder) dann
system.io.directory.createdirectory(ofolder)
Ende

' --inizio-- questa parte funziona solo per la parte lamiera e non in modifica da assieme
dim odoc = thisapplication.activedocument
dim ocompdef als Blechkomponentendefinition = nichts
wenn odoc.documenttype = documenttypeenum.kassemblydocumentobject dann
dim assemdoc als Montagedokument = odoc
'dim odoc = thisapplication.documents.open(iptpathname, false)
ocompdef = assemdoc.componentdefinition.sheetmetalkomponentendefinition
sonstif odoc.documenttype = documenttypeenum.kpartdocumentobject dann
dim partdoc als partdocument = odoc
ocompdef = partdoc.componentdefinition'.sheetmetalcomponentdefinition
Ende
'controlla se esiste un modello piatto; altrimenti lo crea
wenn ocompdef.hasflatpattern = falsch dann
ocompdef.unfold
andere
ocompdef.flatpattern.edit
Ende
' --fine-- questa parte funziona solo per la parte lamiera e non in modifica da assieme

' --inizio-- solo per lamiera
'controlla se esiste un modello piatto; altrimenti lo crea
'dim odoc als Teildokumentation
'odoc = thisapplication.activedocument
'dim ocompdef als Blechkomponentendefinition
'ocompdef = odoc.componentdefinition
Wenn ocompdef.hasflatpattern = falsch dann
'ocompdef.unfold
'elsen'
'ocompdef.flatpattern.edit
Wenn
' --fine-- solo per lamiera

'settaggio dwg'
dim optionlist als list(von string) = neue list(von string)()

Optionlist.add("acadversion=2004")
optionlist.add("outerprofilelayer=0")
optionlist.add("interiorprofilelayer=0")

dim sout als String
Dim Spath als String
sout = "flat pattern dwg?acadversion=2004&outerprofilelayer=iv_interior_profile" _
+ "&invisiblelayers=iv_tangent;iv_feature_profile_down;iv_arc_centers;iv_bend;iv_bend_down;iv_tool_center;iv_tool_center_down;iv_feature_profile;iv_feature_profile_down"

für jeden Opt in Optionsliste
sout = sout & "&" & opt
Nächste

dim sfname als String
sfname = ofolder & "\" & thisdoc.filename(false) & ".dwg"

'esporta il file dwg
ocompdef.dataio.writedatatofile(sout, sfname)
dim osmdef als Blechkomponentendefinition
osmdef = odoc.Komponentendefinition
osmdef.flatpattern.exit
messagebox.show("dwg salvato in: " & sfname, " assieme - esportazione completata!",messageboxbuttons.ok)
Kann mir jemand eine Lösung sagen? Danke.
Guten Morgen, ich nutze diese Regel und es funktioniert perfekt.
Gibt es einen Code, der es erlaubt, flache Modelle in dxf aller Platten in einem Set zu erstellen?
Danke.
 

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