• 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.

Obtenez DXF rapidement à partir de pièces en tôle

  • Auteur du sujet Auteur du sujet flaminio
  • Date de début Date de début
vraiment une grosse macro... Je n'arrête pas d'être heureuse à chaque fois que je l'utilise !
Récemment, je voulais qu'il y ait une chance d'exporter vers dxf selon un fichier de mapping dxf particulier que j'ai enregistré entre mes dossiers. J'ai essayé de changer le fichier macro, mais je n'ai pas les compétences nécessaires. J'ai lu que pour mettre en œuvre l'exportation vers dxf en fonction d'une cartographie spécifique, vous pouvez ajouter ce qui suit:

onces un fichier mapping a été utilisé, Solidworks continuera à l'utiliser pour chaque sauvegarde successive à dxf.
vous pouvez activer cette option dans l'api par swapp.setuserpreferencetoggle(swuserpreferencetoggle_e.swdxfmapping, true)
et vous pouvez définir le chemin vers le fichier de mappage par swapp.setuserpreferencestringlistvalue(swuserpreferencestringlistvalue_f.swdxfmappingfiles, "<path file="" mapping="" to="" your="">"

Je comprends ce que vous voulez faire, mais je ne sais pas comment insérer les deux lignes de commande et à quel moment. Je pense également que de nouvelles variables devraient être déclarées avec la typologie. .
Jeniary, tu peux m'aider, s'il te plaît ?</path>
con la speranza di fare cosa gradita, qui sotto ritorto la "sub main" modificata da sovrascrivere nella macro,
dans verde trovi i commenti e le spiegazioni per le righe aggionte, se non è chiaro fammi sapere:

Sous-main()
dim échange comme sldworks. Soldworks
dim swmodel comme sldworks.modeldoc2
dim swassi comme sldworks.assemblydoc
dim swconf comme sldworks.configuration
dim swrootcomp comme sldworks.component2
dim nstart comme unique
Dim bret comme booléen
définir swapp = application. Soldworks
swmodel = swap.activedoc
set swconf = swmodel.getactiveconfiguration
ensemble swrootcomp = swconf.getrootcomponent3(true)
debug.print "file =" & swmodel. getpathname
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Définition de la zone d'exportation dxf-dwg
'
'dans cette partie du code a imposé les paramètres parce que Solidworks ne me montre pas
'à chaque sauvetage dwg\dxf le masque de jeu de cartes
dim bshowmap comme booléen
'imposé à l'aide du fichier mappingbshowmap = swapp.getuserpreferencetoggle(swuserpreferencetoggle_e.swdxfdontshowmap)
si bshowmap = false alors bshowmap = true sinon bshowmap = true
swap.setuserpreferencetoggle swuserpreferencetoggle_f.swdxfdontshowmap, false ' Cette partie est optionnelle, avant de modifier le fichier de mappage si déjà défini,
'Enregistrez dans une variable la chaîne du fichier de mappage afin qu'elle puisse se réinitialiser après la fin de la macro
dim old_mapping_file en tant que chaîne
old_mapping_file = swapp.getuserpreferencestringlistvalue(swdxfmappingfiles) ' mi ritorna ad esempio "c:\...\mio_file.dat" '
'maintenant pas à la chaîne de pointage du fichier de mappage
Avant le blanc, c'est-à-dire la porte
swap.setuserpreferencestringlistvaleur swuserpreferencestringlistvalue_f.swdxfmappingfiles, "" blanchissement des chaînes de cartographie
"maintenant imposé le fichier de mappage auquel les travaux solides doivent se référer pour les secours ultérieursswap.setuserpreferencestringlistvaleur swuserpreferencestringvalue_f.swdxfmappingfiles, "c:\...\mia_mappatura.dat" 'imposé le fichier de mappage
'Ayant avec la chaîne compilée le rideau que nous trouvons sous les options lors de l'enregistrement dxf\dwg je dois passer l'index de ligne déroulanteswap.setuserpreferenceintegervalue swuserpreferenceintegervalue_f.swdxfmappingfileindex, 0 'Je suis le premier sur la liste puis 0
' Cette commande est facultative, je vais définir la version de secoursswap.setuserpreferenceintegervalue swuserpreferenceintegervalue_f.swdxfversion, 3 ' a imposé la mainlevée à l'exportation "es.r2000-2002"
'
'zone de réglage fin pour l'exportation dxf-dwg
la composante de traversée swrootcomp, 1

Après avoir terminé le cycle, insérer ces deux lignes est restauré le fichier de mappage initialswap.setuserpreferencestringlistvaleur swuserpreferencestringlistvalue_f.swdxfmappingfiles, ""
swap.setuserpreferencestringlistvaleur swuserpreferencestringlistvalue_f.swdxfmappingfiles, old_mapping_file 'imposé le fichier de mappage

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
msgbox ("exportation terminée!")

fin
 
Merci Jenuary... C'était beaucoup plus compliqué qu'il ne semblait !

J'ai essayé plusieurs fois, malheureusement, cela ne fonctionne pas, probablement pour mon entreprise dans l'achèvement de la macro.

le fichier mapping n'est pas .dat, n'a tout simplement pas d'extension... Est-ce la cause du problème ?

J'attache la macro complétée avec votre sous-marin.
 

Pièces jointes

Merci Jenuary... C'était beaucoup plus compliqué qu'il ne semblait !

le fichier mapping n'est pas .dat, n'a tout simplement pas d'extension... Est-ce la cause du problème ?
sûrement le fichier doit avoir souche".dat" et dans le code macro vous devez passer
le nom complet du fichier d'extension, sinon vous passez un chemin d'un dossier pas un nom de fichier.
  1. écrire le chemin complet dans la ligne macro où vous passez le fichier de mapping
  2. vérifier que vous n'avez pas défini sur les "options de dossier" de windows pour ne pas afficher les extensions de fichiers, à la limite vous décochez et vérifiez qu'il a l'extension.
 
J'ai toujours l'extension de fichiers visibles. Ça semble étrange, mais le fichier est sans extension... J'ai créé sous un fichier texte dans lequel j'ai changé l'extension en dat, pour montrer comment l'autre ne l'a pas. pour cela, à la fin, j'ai essayé de le rappeler de code sans extension.2017-11-16_172212.jpgJ'ai essayé de me déplacer comme ça. J'ai assigné l'extension au fichier mapping. dat. dans le manuel d'usines solides prend et exporte correctement. La macro non.
 
Je vois que le fichier test.dat n'a aucun poids.
joindre le fichier de mapping que j'essaie, à la limite j'attache aussi la macro modifiée, parce que pour moi cela fonctionne et je suis aussi en 2017.
 
preuve n'est pas le fichier de mapping, l'autre est celui créé par sw. Mais votre sw crée un fichier .dat ? Dans mon cas, comme je l'ai dit, j'ai ajouté la prolongation.
Voici le dossier.
l'autre possibilité est qu'il était mal de créer le fichier macro.
 

Pièces jointes

l'autre possibilité est qu'il était mal de créer le fichier macro.
Si tu exerçais la macro, je pourrais voir si quelque chose ne va pas.
J'ai essayé le fichier de mapping que vous avez attaché en sauvant à la main et ça marche,
Il fonctionne aussi avec la macro que je joins maintenant, vous vérifiez à ce point si vous avez mal quelque chose.
 

Pièces jointes

Tu m'as envoyé mon fichier de cartographie. Souris :
la macro que j'avais créée était deux postes ci-dessus

copier votre code, je trouve des espaces que je ne comprends pas. Je les ai supprimés. C'est ce qui ne fait pas partir ma macro ? - Oui.

bshowmap = swapp.getuserpreferencetoggle(swuserpreferencetogg le_e.swdxfdontshowmap) par exemple entre togg et il y a un espace qui me donne une erreur. Je l'ai enlevé, mais j'étais douteuse.
 
Je ne peux pas faire en sorte que ça marche. J'ai changé les paramètres de sw, en pensant que le précédent jeu de fichiers de mapping pourrait affecter, j'ai changé l'emplacement du fichier de mapping (c:\gialle.dat)... Je ne sais pas. les lignes de flexion sont toujours tracées et pointer comme par défaut la cartographie (et non pas jaune et continu comme par jeu de fichier de mapping) peut être causé par la version de sw 2017?! Je me rends ?
 

Pièces jointes

J'ai essayé de me déplacer comme ça. J'ai assigné l'extension au fichier mapping. dat. dans le manuel d'usines solides prend et exporte correctement. La macro non.
Tu as écrit que le fichier de cartographie fonctionnait manuellement, maintenant ça ne marche plus ?
utilise le même fichier de mapping qui a fonctionné et défini le pari à ce fichier dans la macro.
Une fois que vous lancez la macro check dans les options de sauvetage pendant que vous enregistrez le dxf\dwg si la macro pointait vers le fichier .dat correct.
si vous voulez dire que cela dépend du fichier de mappage qui n'est pas correctement défini.
 
grâce à votre conseil J'ai compris :
- la macro pointe correctement vers le fichier mapping
- le fichier de mapping, rappelé par la macro, fonctionne correctement en changeant la couleur et chaque fonction aux lignes géométriques
- le fichier mapping ne peut pas changer les lignes de flexion. semble que la macro écrase les fonctionnalités définies par le fichier dat pour les lignes de plis.
- le même fichier de mapping, utilisé manuellement, agit correctement sur les lignes de plis.

(avant que j'avais des fichiers dat qui ne définissaient que les caractéristiques des lignes de plis, c'est pourquoi je pensais que la macro ne les faisait pas fonctionner)
 
grâce à votre conseil J'ai compris :
- le fichier mapping ne peut pas changer les lignes de flexion. semble que la macro écrase les fonctionnalités définies par le fichier dat pour les lignes de plis.
la macro ne touche rien au niveau des lignes de plis.
Essayez de poster des modèles 3D et des fichiers .dat pour les tests, je ne sais pas autrement comment approfondir.
 
J'ai remarqué qu'en secourant manuellement un modèle en tôle dans dxf un menu apparaît où on vous demande ce que vous voulez exporter, de moi les lignes de plis étaient éteintes.
Une fois activée et enregistrée, j'ai lancé la macro du fichier ensemble et j'ai trouvé les lignes de plis.
essayer de faire la même chose pour voir si le problème est là, la macro ne touche rien, je l'ai testé
 

Pièces jointes

  • Immagine.png
    Immagine.png
    52.1 KB · Affichages: 19
le problème n'est pas avoir ni les lignes de plis, mais les avoir en fonction des caractéristiques du fichier de mapping.
pour avoir des lignes de plis exportées de la macro juste mettre zéro au lieu d'une dans la rangée
swchildmodel.exportflatpatternview exfilename & ".dxf", 1
Vous avez écrit quelques pages plus tôt. http://help.solidworks.com/english/....swcont.swexportflatpatternviewoptions_f.htmlJe porte toujours avec les lignes de plis, mettre cette tique à chaque exportation manuelle.
si vous voyez le dxf, dans le manuel les lignes de plis sont continues jaune (comme à partir du fichier de cartographie), dans celui exporté avec la macro sont gris et stretch et point. l'étrange chose est que dans les deux, au lieu, les lignes de bord suivent le fichier de cartographie, c'est-à-dire, ils sont verts.
 
Alors...
J'ai fait beaucoup de tests en modifiant tout d'abord le fichier de mapping que je renonce dans "giallo.dat" où j'ai inséré les couleurs pour la gestion des lignes de flexion en jaune faite par moi.
Malheureusement, comme l'a dit Malf, les lignes de flexion sont ignorées lors du sauvetage avec la macro, tout en enregistrant manuellement les lignes en jaune et en les faisant pointer.
Je ne sais vraiment pas quoi faire.
 

Pièces jointes

  • A mano.png
    A mano.png
    12.8 KB · Affichages: 22
  • Macro.png
    Macro.png
    15.8 KB · Affichages: 24
  • gialle3.zip
    gialle3.zip
    261 bytes · Affichages: 1
Donc, après une matinée de preuves, je crois que je suis venu à la tête. c'est comme si sw avait 2 syntaxes différentes pour le fichier de mappage : une pour l'export de feuille (revocable par des options lors de l'enregistrement de la répétition plate d'un fichier de feuille dans dxf) et une pour le tirage de fichier d'exportation. dans les premières lignes de virage sont distinctes de haut en bas et ont une identification [31] e [32] entre crochets, tandis que dans la seconde les lignes de repli sont simplement déclarées comme des lignes à mi-chemin, identification [14], tandis que 31 et 32 sont assignés à n'importe quoi d'autre (angle de détour et révision comique).
la deuxième syntaxe est utilisée dans l'exportation macro. donnant à la macro le fichier de mapping écrit avec la première syntaxe, les indications pour 31 et 32, destinées aux lignes de plis, ont été appliquées au rectangle limite et à la BD de révision.

Peut-être que la syntaxe n'est pas le bon mot, ce ne sont que des conventions différentes.

c'est la liste complète des codes d'assignation dans la syntaxe pour l'exportation des fichiers de tirage et également utilisée par les macros d'exportation.
[Version]sw990001
[Layers]0 = 2, 1
[Entities]géométrie [0] = 3, couche, 0
citation [1] = 2, sous-couche, 0
Remarque [2] = 2, sous-couche, 0
tolleranza di forma [3] = 2, sous-couche, 0
Tacche di centratura [4] = 2, sous-couche, 0
Rubriques [5] = 2, sous-couche, 0
cercles de détail [6] = 2, sous-couche, 0
Étiquettes [7] = 2, sous-couche, 0
étiquettes de référence [8] = 2, sous-couche, 0
Points de référence [9] = 2, sous-couche, 0
Simboli di saldatura [10] = 2, sous-couche, 0
caractéristiques [11] = 2, sous-couche, 0
matériel [12] = 2, sous-couche, 0
blocchi [13] = 2, sous-couche, 0
ligne [14] = 4, couche, 0
linee nascoste [15] = 2, sous-couche, 0
linee di schizzo [16] = 2, sous-couche, 0
campitura [17] = 2, sous-couche, 0
marge détaillée [18] = 2, sous-couche, 0
ligne keysi [19] = 2, sous-couche, 0
utilisateur - pointillé [20] = 2, sous-couche, 0
utilisateur - différencié [21] = 2, sous-couche, 0
utente - centro [22] = 2, sous-couche, 0
lignes d'association multi-shot [23] = 2, sous-couche, 0
symboles de la fiche centrale [24] = 2, sous-couche, 0
interrompre les lignes [25] = 2, sous-couche, 0
instance de blocage [26] = 2, sous-couche, 0
AaUppercase [27] = 2, sous-couche, 0
annotation de tableau [28] = 2, sous-couche, 0
origine du tableau de forage [29] = 2, sous-couche, 0
cordoni en saldatura [30] = 2, sous-couche, 0
rectangle de contour [31] = 2, sous-couche, 0
fumetto revisione [32] = 2, sous-couche, 0
[Colors]pour modifier les lignes de plis dans les fichiers exportés avec la macro, alors, vous devez écrire dans le fichier de mappage la ligne:
à mi-chemin [14] = 2, sous-couche, 0

J'ajoute le fichier jenuaire et un fichier mapping qui exporte les lignes de contour noir et les lignes de repli jaune, pour éviter toute confusion avec tous les fichiers attachés précédemment.
 

Pièces jointes

Bonjour, j'essaie la macro gentiment rendue disponible par jenuary, mais parfois l'échelle du dxf exporté est différente la plupart du temps augmenté de dix fois. si quelqu'un peut m'aider à comprendre l'arche merci
 

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