• Ce forum est la traduction générée par la machine de www.cad3d.it/forum1 - la communauté italienne du design. Plusieurs termes ne sont pas traduits correctement.

Exporter le modèle plat DWG de l'édition avec iLogic

  • Auteur du sujet Auteur du sujet CaesarXXI
  • Date de début Date de début

CaesarXXI

Guest
Au revoir à tous,

J'ai besoin d'aide avec une règle logique, je ne suis pas un expert et ce code est fait en faisant des copies de colle prises sur le net et en allant un peu intuition.

le résultat final que je voudrais, c'est que lorsque j'enregistre, automatiquement, je porte le modèle plat en dwg dans un dossier spécifique (qui est créé avec la règle) à la fois lors de la sauvegarde du fichier dans la feuille d'environnement et dans l'environnement avec la commande modifca (sans rouvrir le dossier).

J'ai créé 3 règles à l'intérieur du fichier de feuille, le premier "master" s'active après avoir enregistré le fichier avec le déclencheur d'événement; cette règle devrait vérifier s'ils sont dans la feuille ou ensemble de l'environnement, puis charger la règle combinée pour exporter le dwg. probablement vous pouvez tout faire avec une seule règle, mais pendant mes tentatives c'est le résultat le plus proche de mes attentes.

Tout fonctionne bien et comme je le voudrais avec la feuille, mais si j'essaie de changer avec l'axième je reçois une erreur et ne sauvegarde pas les nouvelles géométries.

le message d'erreur est ceci:
Errore_01.JPG
Errore_01_info.JPGrègle principale:
Code:
Maître
dim odoc comme document = cedoc.document
si odoc.documenttype = inventeur.documenttypeenum.kpartdocumentobject et odoc.subtype = "{9c464203-9bae-11d3-8bad-0060b0ce6bb4}" alors
si le type de cette demande. activeeditobject est un croquis alors
messagebox.show("vous avez un croquis actif dans un fichier partiel.", "arrêter le croquis")
Autre
ilogicvb.runrule("salva_modellopiatto")
fin si
Fichier de montage
sinon si odoc.documenttype = inventeur.documenttypeenum.kassemblydocumentobject puis
si odoc.componentdefinition.isiassemblyfactory alors
messagebox.show("c'est une iassemblyfactory", "i va s'arrêter")
retour
sinon si odoc.componentdefinition.isiassemblymember alors
messagebox.show("c'est un membre iassembly", "i va s'arrêter")
retour
fin si
si le type de cette demande. activeeditobject est un croquis alors
messagebox.show("vous avez un croquis actif dans un fichier de montage.", "arrêtez le croquis")
Autre
ilogicvb.runrule("salva_modellopiatto_01")
fin si
fin si
Regola per lamiera:
Code:
'salva_modellopiatto
rusure = boîte de message.show( _
"Salva dwg dal modello piatto." _
& vblf & "premere yes per continuare". _
& vblf & "premere no per abortire". _
& vblf & "attenzione il cambio di spessore deve essere gestito a mano.", "ilogic - elabora dwg file ",messageboxbuttons.yesno)
si rusure = vbno alors
retour
fin si
opath = cedoc.path
currentstyle = feuillet metal.getactivestyle()
codice_regola = droite(style actuel, 10)
num_part=iproperties.value("projet", "numéro de partie")
codiceinizio = gauche(num_part, 3)
'specifica la cartella di destinazione per il dwg
ofolder = thisdoc.path & "\" & "laserdwg" & "\" & codiceinizio & "_" & codice_regola
'controlla se la cartella esiste, oppure la crea
si pas system.io.directory.exists(ofolder) alors
system.io.directory.createdirectory(ofolder)
fin si

'-inizio-- questa parte funzona solo per la parte lamiera e non in modifica da Assieme
dim odoc = cette application.document actif
dim ocompdef en tant que composant de tôledéfinition = rien
si odoc.documenttype = documenttypeenum.kassemblydocumentobjet puis
dim assemdoc comme document de montage = odoc
'dim odoc = cette application.documents.open(iptpathname, false)
ocompdef = assemdoc.componentdefinition.sheetmetalcomponentdefinition
sinon odoc.documenttype = documenttypeenum.kpartdocumentobjet puis
dim partdoc comme document partiel = odoc
ocompdef = partdoc.componentdefinition'.sheetmetalcomponentdefinition
fin si
«controlla se esiste un modello piatto; altrimenti lo crea
si ocompdef.has flatpattern = false alors
ocompdef.unfold
Autre
ocompdef.flatpattern.edit
fin si
'-fine-- questa parte funzona 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 comme document
'odoc = cette demande.document actif
'dim ocompdef en tant que composant de tôle
'ocompdef = définition de la composante odoc.
'si ocompdef.a flatpattern = false alors
'ocompdef.unfold
'else
'ocompdef.flatpattern.edit
'finir si
'-fine-- solo par lamiera

'settaggio dwg
dim optionlist comme liste(de chaîne) = nouvelle liste(de chaîne)()

optionlist.add("acadversion=2004")
optionlist.add("outerprofilelayer=0")
optionlist.add("interiorprofileslayer=0")

Dim sout comme chaîne
Dim spath comme ficelle
sout = "plat pattern dwg?acadversion=2004&outerprofilelayer=iv_interior_profiles" _
+ "&invisiblelayers=iv_tangent;iv_feature_profiles_down;iv_arc_centers;iv_bend;iv_bend_down;iv_tool_center;iv_tool_center_down;iv_feature_profiles;iv_feature_profiles_down"

pour chaque opt dans la liste d'options
sout = sout & "&" & opt
suivant

dim sfname comme chaîne
sfname = ofolder & "\" & thisdoc.filename(false) & ".dwg"

'esporta il fichier dwg
ocompdef.dataio.writedatatofile( sout, sfname)
dim osmdef comme la définition des composants de tôle
osmdef = définition de la composante odoc.
osmdef.flatpattern.exitedit
messagebox.show("dwg salvato in: " & sfname, " lamiera - esportazione completata!",messageboxboutons.ok)
règle pour ensemble:
Code:
'salva_modellopiatto_01
si cette application.activedocument.documenttype <>documenttypeenum.kassemblydocumentobject alors
messagebox.show("e' un'assieme. (non fa niente, ma la regola viene eseguita; messaggio da eliminare), "controllo")
sortie sous
fin si
opath = cedoc.path
currentstyle = feuillet metal.getactivestyle()
codice_regola = droite(style actuel, 10)
num_part=iproperties.value("projet", "numéro de partie")
codiceinizio = gauche(num_part, 3)
'specifica la cartella di destinazione per il dwg
ofolder = thisdoc.path & "\" & "laserdwg" & "\" & codiceinizio & "_" & codice_regola
'controlla se la cartella esiste, oppure la crea
si pas system.io.directory.exists(ofolder) alors
system.io.directory.createdirectory(ofolder)
fin si

'-inizio-- questa parte funzona solo per la parte lamiera e non in modifica da Assieme
dim odoc = cette application.document actif
dim ocompdef en tant que composant de tôledéfinition = rien
si odoc.documenttype = documenttypeenum.kassemblydocumentobjet puis
dim assemdoc comme document de montage = odoc
'dim odoc = cette application.documents.open(iptpathname, false)
ocompdef = assemdoc.componentdefinition.sheetmetalcomponentdefinition
sinon odoc.documenttype = documenttypeenum.kpartdocumentobjet puis
dim partdoc comme document partiel = odoc
ocompdef = partdoc.componentdefinition'.sheetmetalcomponentdefinition
fin si
«controlla se esiste un modello piatto; altrimenti lo crea
si ocompdef.has flatpattern = false alors
ocompdef.unfold
Autre
ocompdef.flatpattern.edit
fin si
'-fine-- questa parte funzona 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 comme document
'odoc = cette demande.document actif
'dim ocompdef en tant que composant de tôle
'ocompdef = définition de la composante odoc.
'si ocompdef.a flatpattern = false alors
'ocompdef.unfold
'else
'ocompdef.flatpattern.edit
'finir si
'-fine-- solo par lamiera

'settaggio dwg
dim optionlist comme liste(de chaîne) = nouvelle liste(de chaîne)()

optionlist.add("acadversion=2004")
optionlist.add("outerprofilelayer=0")
optionlist.add("interiorprofileslayer=0")

Dim sout comme chaîne
Dim spath comme ficelle
sout = "plat pattern dwg?acadversion=2004&outerprofilelayer=iv_interior_profiles" _
+ "&invisiblelayers=iv_tangent;iv_feature_profiles_down;iv_arc_centers;iv_bend;iv_bend_down;iv_tool_center;iv_tool_center_down;iv_feature_profiles;iv_feature_profiles_down"

pour chaque opt dans la liste d'options
sout = sout & "&" & opt
suivant

dim sfname comme chaîne
sfname = ofolder & "\" & thisdoc.filename(false) & ".dwg"

'esporta il fichier dwg
ocompdef.dataio.writedatatofile( sout, sfname)
dim osmdef comme la définition des composants de tôle
osmdef = définition de la composante odoc.
osmdef.flatpattern.exitedit
messagebox.show("dwg salvato in: " & sfname, " Assieme - esportazione completata!",messageboxboutons.ok)
Quelqu'un peut me dire une solution ? Je vous remercie.
 
Bonjour.
Pendant quelques jours, je n'ai vraiment pas le temps de paraître bien, mais tu deviens compliqué. Ce que je ferais est de connecter votre règle d'exportation aux parties déclencheurs de l'événement> avant de sauvegarder le document, commencez la règle avec la vérification que la partie est une feuille et puis peut-être procéder à l'exportation: quand une partie est sauvegardée, la règle est exécutée et "thisdoc" pointe vers le document qui a causé le déclencheur, que vous soyez dans un ensemble, dans l'édition locale ou dans l'édition de la partie unique. idéal pour utiliser une règle externe.
 
Bonjour, catafract,
Merci de votre intérêt, j'ai changé la règle existante à partir de votre conseil.
Malheureusement, le résultat ne change pas, vous pouvez exporter en une seule partie, mais pas pendant l'édition axieme. (J'ai modifié le déclencheur de la partie avant de sauvegarder le document) Je joins la règle parce que je n'ai peut-être pas compris.
Code:
code syntaxeditor snippet'salva_modellopiatto_03
'controlla se il fichier è una parte
dim partdoc comme document
si cette application.activedocument.documenttype <> kpartdocumentobject alors
messagebox.show ("si prega di avril un documento part", "ilic")
fin si
'messaggio di testo si/non
rusure = boîte de message.show( _
"Salva dwg dal modello piatto." _
& vblf & "premere yes per continuare". _
& vblf & "premere no per abortire". _
& vblf & "attenzione il cambio di spessore deve essere gestito a mano.", "ilogic - elabora dwg file ",messageboxbuttons.yesno)
si rusure = vbno alors
retour
fin si

opath = cedoc.path
currentstyle = feuillet metal.getactivestyle()
codice_regola = droite(style actuel, 10)
num_part=iproperties.value("projet", "numéro de partie")
codiceinizio = gauche(num_part, 3)
'specifica la cartella di destinazione per il dwg
ofolder = thisdoc.path & "\" & "laserdwg" & "\" & codiceinizio & "_" & codice_regola
'controlla se la cartella esiste, oppure la crea
si pas system.io.directory.exists(ofolder) alors
system.io.directory.createdirectory(ofolder)
fin si

'-inizio-- solo per lamiera
«controlla se esiste un modello piatto; altrimenti lo crea
dim odoc en tant que document
odoc = cette demande.documentactif
dim ocompdef en tant que composant de tôle
ocompdef = définition de la composante odoc.
si ocompdef.has flatpattern = false alors
ocompdef.unfold
Autre
ocompdef.flatpattern.edit
fin si
'-fine-- solo par lamiera

'settaggio dwg
dim optionlist comme liste(de chaîne) = nouvelle liste(de chaîne)()

optionlist.add("acadversion=2004")
optionlist.add("outerprofilelayer=0")
optionlist.add("interiorprofileslayer=0")

Dim sout comme chaîne
Dim spath comme ficelle
sout = "plat pattern dwg?acadversion=2004&outerprofilelayer=iv_interior_profiles" _
+ "&invisiblelayers=iv_tangent;iv_feature_profiles_down;iv_arc_centers;iv_bend;iv_bend_down;iv_tool_center;iv_tool_center_down;iv_feature_profiles;iv_feature_profiles_down"

pour chaque opt dans la liste d'options
sout = sout & "&" & opt
suivant

dim sfname comme chaîne
sfname = ofolder & "\" & thisdoc.filename(false) & ".dwg"

'esporta il fichier dwg
ocompdef.dataio.writedatatofile( sout, sfname)
dim osmdef comme la définition des composants de tôle
osmdef = définition de la composante odoc.
osmdef.flatpattern.exitedit
'messaggio di testo ok
messagebox.show("dwg salvato in: " & sfname, " lamiera - esportazione completata!",messageboxboutons.ok)
lors de l'édition d'ensemble, lors de l'enregistrement, je sors de la partie du message de contrôle "veuillez ouvrir un document de partie", "logique"
Errore_03_part.JPGet poi questo erre...
Errore_03.JPG

Errore_03_infoA.JPG
Errore_03_infoB.JPGJe vous remercie pour votre temps et ne vous inquiétez pas non plus je peux donner des réponses immédiates, en attendant je fais d'autres tests.
un salut
 
à la volée, pour exploiter les automatismes de Vien logique pour suggérer de "entrer" votre document avec
odoc = cedoc.document

(en ilogic thisdoc est le document qui déclenche le déclenchement de la règle)

Cette application.activedocument.documenttype est le document que vous avez ouvert dans la fenêtre principale, donc il serait toujours accrocher l'axième.
 
à la volée, pour exploiter les automatismes de Vien logique pour suggérer de "entrer" votre document avec
odoc = cedoc.document

(en ilogic thisdoc est le document qui déclenche le déclenchement de la règle)

Cette application.activedocument.documenttype est le document que vous avez ouvert dans la fenêtre principale, donc il serait toujours accrocher l'axième.
travaille, merci beaucoup (y)
 
Bonjour.
Je soutiens ce débat parce que j'ai un tel problème.
Je dois exporter le modèle plat créé pour tous les fichiers ipt qui sont ouverts.

utiliser cette règle logique:
Code:
Définissez votre chemin de fichier ici:
setfilepath = "\\srvfs\ufftecnico\anno2022\dbf\07625 - parapetto copertura\programmazion\3d"

dim partdoc comme document
si cette application.activedocument.documenttype <> kpartdocumentobject alors
messagebox.show ("veuillez ouvrir un document de partie", "ilogic")
fin si

'cherche un motif plat >> créer un si nécessaire
dim odoc en tant que document
odoc = cette demande.documentactif
dim ocompdef en tant que composant de tôle
ocompdef = définition de la composante odoc.
si ocompdef.has flatpattern = false alors
ocompdef.unfold

Autre
ocompdef.flatpattern.edit
fin si

Paramètres dxf
Dim sout comme chaîne
Dim spath comme ficelle
sout = « motif plat dxf?acadversion=2000 » _
+ "&outprofilelayer=0" _
+ "&outprofilelayercolor=0;0;0" _
+ "&profils-coucher=0" _
+ "&profils intérieurs couchecolor=0;0;0" _
+ "&benduplayercolor=255;0;0" _
+ "&benddownlayercolor=255;0;0" _
+ "&featureprofilesuplayercolor=255;255;0" _
+ "&nonconsommésketcheslayercolor=255;255;0" _
+ "&invisiblelayers=iv_arc_centers;iv_tangent;iv_roll;iv_roll_tangent;iv_altrep_back;iv_altrep_front;iv_feature_profiles_down;iv_tool_center_down;digi_marker_tool_1;digi_marker_tool_2;iv_inner_profiles"

odoc = cedoc.document

Dim ofiledlg en tant qu'inventeur. filedialog = rien
inventeurvb.application.createfiledialog(ofiledlg)

ofiledlg.initialdirectory = thisdoc.workspacepath()
ofiledlg.filename = thisdoc.filename & ".dxf" 'définit la propriété selon l'exigence
ofiledlg.cancelerror = vrai
suite de l'erreur
oiledlg.showsave()
si err.number <> 0 puis
messagebox.show("pas de fichier sauvegardé.", "logic: dialogue annulé")
sinon, du nom de fichier <> "" alors
myfile = ofiledlg.filename
odoc.saveas(myfile, true) 'true = enregistrer comme copie & false = enregistrer comme
fin si

'exporter le dxf et plier le modèle
ocompdef.dataio.writedatatofile( sout, ofiledlg.filename )
dim osmdef comme la définition des composants de tôle
osmdef = définition de la composante odoc.
osmdef.flatpattern.exitedit

Cette demande. statusbartext = "@clintbrown3d: dxf sauvegardé vers: " & sfname
'messagebox.show("dxf enregistré à: " & ofiledlg.filename , "@clintbrown3d: success!")
si je l'exécute sur un seul fichier, je n'ai aucun problème, mais si je l'utilise avec un déclencheur pour enregistrer tous les fichiers ouverts, il crée tous les mêmes dxf. avec les noms de fichiers ouverts, mais avec le fichier de modèle de fichier actif.
J'espère avoir été clair.

des suggestions pour modifier la règle?

Merci beaucoup.
 
Au revoir à tous,

J'ai besoin d'aide avec une règle logique, je ne suis pas un expert et ce code est fait en faisant des copies de colle prises sur le net et en allant un peu intuition.

le résultat final que je voudrais, c'est que lorsque j'enregistre, automatiquement, je porte le modèle plat en dwg dans un dossier spécifique (qui est créé avec la règle) à la fois lors de la sauvegarde du fichier dans la feuille d'environnement et dans l'environnement avec la commande modifca (sans rouvrir le dossier).

J'ai créé 3 règles à l'intérieur du fichier de feuille, le premier "master" s'active après avoir enregistré le fichier avec le déclencheur d'événement; cette règle devrait vérifier s'ils sont dans la feuille ou ensemble de l'environnement, puis charger la règle combinée pour exporter le dwg. probablement vous pouvez tout faire avec une seule règle, mais pendant mes tentatives c'est le résultat le plus proche de mes attentes.

Tout fonctionne bien et comme je le voudrais avec la feuille, mais si j'essaie de changer avec l'axième je reçois une erreur et ne sauvegarde pas les nouvelles géométries.

le message d'erreur est ceci:
Voir la pièce jointe 66047
Voir la pièce jointe 66048règle principale:
Code:
Maître
dim odoc comme document = cedoc.document
si odoc.documenttype = inventeur.documenttypeenum.kpartdocumentobject et odoc.subtype = "{9c464203-9bae-11d3-8bad-0060b0ce6bb4}" alors
si le type de cette demande. activeeditobject est un croquis alors
messagebox.show("vous avez un croquis actif dans un fichier partiel.", "arrêter le croquis")
Autre
ilogicvb.runrule("salva_modellopiatto")
fin si
Fichier de montage
sinon si odoc.documenttype = inventeur.documenttypeenum.kassemblydocumentobject puis
si odoc.componentdefinition.isiassemblyfactory alors
messagebox.show("c'est une iassemblyfactory", "i va s'arrêter")
retour
sinon si odoc.componentdefinition.isiassemblymember alors
messagebox.show("c'est un membre iassembly", "i va s'arrêter")
retour
fin si
si le type de cette demande. activeeditobject est un croquis alors
messagebox.show("vous avez un croquis actif dans un fichier de montage.", "arrêtez le croquis")
Autre
ilogicvb.runrule("salva_modellopiatto_01")
fin si
fin si
Regola per lamiera:
Code:
'salva_modellopiatto
rusure = boîte de message.show( _
"Salva dwg dal modello piatto." _
& vblf & "premere yes per continuare". _
& vblf & "premere no per abortire". _
& vblf & "attenzione il cambio di spessore deve essere gestito a mano.", "ilogic - elabora dwg file ",messageboxbuttons.yesno)
si rusure = vbno alors
retour
fin si
opath = cedoc.path
currentstyle = feuillet metal.getactivestyle()
codice_regola = droite(style actuel, 10)
num_part=iproperties.value("projet", "numéro de partie")
codiceinizio = gauche(num_part, 3)
'specifica la cartella di destinazione per il dwg
ofolder = thisdoc.path & "\" & "laserdwg" & "\" & codiceinizio & "_" & codice_regola
'controlla se la cartella esiste, oppure la crea
si pas system.io.directory.exists(ofolder) alors
system.io.directory.createdirectory(ofolder)
fin si

'-inizio-- questa parte funzona solo per la parte lamiera e non in modifica da Assieme
dim odoc = cette application.document actif
dim ocompdef en tant que composant de tôledéfinition = rien
si odoc.documenttype = documenttypeenum.kassemblydocumentobjet puis
dim assemdoc comme document de montage = odoc
'dim odoc = cette application.documents.open(iptpathname, false)
ocompdef = assemdoc.componentdefinition.sheetmetalcomponentdefinition
sinon odoc.documenttype = documenttypeenum.kpartdocumentobjet puis
dim partdoc comme document partiel = odoc
ocompdef = partdoc.componentdefinition'.sheetmetalcomponentdefinition
fin si
«controlla se esiste un modello piatto; altrimenti lo crea
si ocompdef.has flatpattern = false alors
ocompdef.unfold
Autre
ocompdef.flatpattern.edit
fin si
'-fine-- questa parte funzona 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 comme document
'odoc = cette demande.document actif
'dim ocompdef en tant que composant de tôle
'ocompdef = définition de la composante odoc.
'si ocompdef.a flatpattern = false alors
'ocompdef.unfold
'else
'ocompdef.flatpattern.edit
'finir si
'-fine-- solo par lamiera

'settaggio dwg
dim optionlist comme liste(de chaîne) = nouvelle liste(de chaîne)()

optionlist.add("acadversion=2004")
optionlist.add("outerprofilelayer=0")
optionlist.add("interiorprofileslayer=0")

Dim sout comme chaîne
Dim spath comme ficelle
sout = "plat pattern dwg?acadversion=2004&outerprofilelayer=iv_interior_profiles" _
+ "&invisiblelayers=iv_tangent;iv_feature_profiles_down;iv_arc_centers;iv_bend;iv_bend_down;iv_tool_center;iv_tool_center_down;iv_feature_profiles;iv_feature_profiles_down"

pour chaque opt dans la liste d'options
sout = sout & "&" & opt
suivant

dim sfname comme chaîne
sfname = ofolder & "\" & thisdoc.filename(false) & ".dwg"

'esporta il fichier dwg
ocompdef.dataio.writedatatofile( sout, sfname)
dim osmdef comme la définition des composants de tôle
osmdef = définition de la composante odoc.
osmdef.flatpattern.exitedit
messagebox.show("dwg salvato in: " & sfname, " lamiera - esportazione completata!",messageboxboutons.ok)
règle pour ensemble:
Code:
'salva_modellopiatto_01
si cette application.activedocument.documenttype <>documenttypeenum.kassemblydocumentobject alors
messagebox.show("e' un'assieme. (non fa niente, ma la regola viene eseguita; messaggio da eliminare), "controllo")
sortie sous
fin si
opath = cedoc.path
currentstyle = feuillet metal.getactivestyle()
codice_regola = droite(style actuel, 10)
num_part=iproperties.value("projet", "numéro de partie")
codiceinizio = gauche(num_part, 3)
'specifica la cartella di destinazione per il dwg
ofolder = thisdoc.path & "\" & "laserdwg" & "\" & codiceinizio & "_" & codice_regola
'controlla se la cartella esiste, oppure la crea
si pas system.io.directory.exists(ofolder) alors
system.io.directory.createdirectory(ofolder)
fin si

'-inizio-- questa parte funzona solo per la parte lamiera e non in modifica da Assieme
dim odoc = cette application.document actif
dim ocompdef en tant que composant de tôledéfinition = rien
si odoc.documenttype = documenttypeenum.kassemblydocumentobjet puis
dim assemdoc comme document de montage = odoc
'dim odoc = cette application.documents.open(iptpathname, false)
ocompdef = assemdoc.componentdefinition.sheetmetalcomponentdefinition
sinon odoc.documenttype = documenttypeenum.kpartdocumentobjet puis
dim partdoc comme document partiel = odoc
ocompdef = partdoc.componentdefinition'.sheetmetalcomponentdefinition
fin si
«controlla se esiste un modello piatto; altrimenti lo crea
si ocompdef.has flatpattern = false alors
ocompdef.unfold
Autre
ocompdef.flatpattern.edit
fin si
'-fine-- questa parte funzona 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 comme document
'odoc = cette demande.document actif
'dim ocompdef en tant que composant de tôle
'ocompdef = définition de la composante odoc.
'si ocompdef.a flatpattern = false alors
'ocompdef.unfold
'else
'ocompdef.flatpattern.edit
'finir si
'-fine-- solo par lamiera

'settaggio dwg
dim optionlist comme liste(de chaîne) = nouvelle liste(de chaîne)()

optionlist.add("acadversion=2004")
optionlist.add("outerprofilelayer=0")
optionlist.add("interiorprofileslayer=0")

Dim sout comme chaîne
Dim spath comme ficelle
sout = "plat pattern dwg?acadversion=2004&outerprofilelayer=iv_interior_profiles" _
+ "&invisiblelayers=iv_tangent;iv_feature_profiles_down;iv_arc_centers;iv_bend;iv_bend_down;iv_tool_center;iv_tool_center_down;iv_feature_profiles;iv_feature_profiles_down"

pour chaque opt dans la liste d'options
sout = sout & "&" & opt
suivant

dim sfname comme chaîne
sfname = ofolder & "\" & thisdoc.filename(false) & ".dwg"

'esporta il fichier dwg
ocompdef.dataio.writedatatofile( sout, sfname)
dim osmdef comme la définition des composants de tôle
osmdef = définition de la composante odoc.
osmdef.flatpattern.exitedit
messagebox.show("dwg salvato in: " & sfname, " Assieme - esportazione completata!",messageboxboutons.ok)
Quelqu'un peut me dire une solution ? Je vous remercie.
Bonjour à tous, j'utilise cette règle et elle fonctionne parfaitement.
Y a-t-il un code qui permet de créer des modèles plats en dxf de toutes les plaques présentes dans un ensemble?
Je vous remercie.
 
vous avez essayé de jeter un oeil à l'autodesk app store, il ya ceci app pour l'exportation de modèles plats en dxf, n'est pas gratuit mais le prix est abordable
 
Parfait.

Pour comprendre, les règles placées sont trois (maître, feuille, ensemble), auquel des trois règles faites-vous référence?

juste pour avoir une première référence à partir de laquelle commencer.
J'utilise la règle relative à la tôle
 

Statistiques du forum

Sujets
58 521
Messages
499 056
Membres
104 110
Dernier membre
ChristianR

Membres en ligne

Aucun membre en ligne actuellement.
Retour
Haut