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

Macro pour convertir .stp en dwg

  • Auteur du sujet Auteur du sujet Solid User
  • Date de début Date de début
Je vous remercie. @massivonweizen - Oui. la fonction de la commande que je cherchais sur le réseau et sur l'aide en ligne d'autocad, je faisais référence à ce qu'il a servi dans mon cas spécifique, c'est-à-dire dans l'importation d'un fichier 3d .stp qui n'a pas de blocs ou d'autres entités autocad (j'ai été mal exprimé et n'ai pas bien précisé la question, je demande veine).
OK pour copier n fois la séquence de commande. mais comment je fais "commencer à dessiner" automatique ?
maintenant pour lancer le script je dois ouvrir "main" un nouveau design puis lancer la macro. voir les photos ci-dessous pour différentes étapes
passo 1.JPG passo 2.JPGà partir de la page initiale, en gestion, si je n'ai pas commencé un nouveau design, je n'ai pas la clé script esegui activé.

Bonjour.
 
après avoir importé le fichier manuellement, vous avez vérifié qu'il n'y a rien à supprimer car cela dépend également du modèle utilisé pour l'importation.
mais comment je fais "commencer à dessiner" En automatique ?
Essayez anteponendo ad importer le nouveau fichier de commande; créer un nouveau fichier et l'utiliser pour importer l'étape
 
Ça marche !
Je vous remercie. @massivonweizen !!!

J'ai déjà apporté un excellent résultat. depuis l'appétit vien manger maintenant j'essaie d'insérer n°2 différentes couches:
  • un dans lequel dessiner une ligne représentant l'axe de mon objet
  • l'autre où insérer un texte (peut-être un bloc?) avec le code de la pièce importée
Dans les prochains jours, je vous emmènerai.

Merci encore, bonjour !
 
un dans lequel dessiner une ligne représentant l'axe de mon objet
C'est trivial.
ligne
point de départ
point d'arrivée
l'autre où insérer un texte (peut-être un bloc?) avec le code de la pièce importée
si c'est juste une chaîne insérant un bloc avec un attribut est de compliquer inutilement la vie, alors:
texte
"diverses instructions requises par les options de commande"
chaîne que vous pouvez récupérer automatiquement avec excel
 
Ciao @massivonweizen Je vais demander de l'aide.
J'ai réussi à tracer la ligne et à mettre l'écriture, mais ça les met toujours sur le calque 0.
J'aimerais avoir le modèle 3d sur la couche 0 (tel qu'il est en fait), l'axe sur la couche d'axe et l'écriture sur le code de calque.
en le faisant à la main je vois qu'autocad utilise la commande _clayer, mais dans le script cette commande n'est pas reconnue.

Pouvez-vous suggérer comment sélectionner le calque sur lequel travailler ?
J'utilise cette série de commandes
créer un nouveau designnouveaux
gère les couches et leurs propriétés_-couche
créer un nouveau calquen
nome del coucheaxe
gère les couches et leurs propriétés_-couche
créer un nouveau calquen
nome del couchecode
gère les couches et leurs propriétés_Coucher
nom du calque sur lequel travailleraxe
ligne de disegnaLigne
Point de ligne initial-500,0,0
point final de la ligne500,0,0
gère les couches et leurs propriétés_Coucher
nom du calque sur lequel travaillercode
dessiner le textetexte
Point initial du texte-500,0,0
hauteur du texte30
angle de rotation du texte0
textecode
Ciao, ciao
 
au lieu d'utiliser argileuse simplement utiliser la couche puis mettre l'option chaîne.puis créer le calque, le rendre courant et faire la ligne, puis créer l'autre calque, le rendre courant et faire le texte.
 
Ciao @massivonweizen . Je ne trouve pas le problème.
créer un nouveau designnouveaux
gère les couches et leurs propriétés_-couche
créer un nouveau calquen
nome del coucheaxe
gère les couches et leurs propriétés_-couche
flux de la coucher
couche du rendu actuelaxe
crée la ligneLigne
point intermédiaire-500,0,0
dernier point500,0,0
avec ces commandes Je reçois l'erreur suivante
img.JPG...
 
Ciao @massivonweizen . Je ne trouve pas le problème.
créer un nouveau designnouveaux
gère les couches et leurs propriétés_-couche
créer un nouveau calquen
nome del coucheaxe
gère les couches et leurs propriétés_-couche
flux de la coucher
couche du rendu actuelaxe
crée la ligneLigne
point intermédiaire-500,0,0
dernier point500,0,0
avec ces commandes Je reçois l'erreur suivante
Voir la pièce jointe 64251...
Je l'ai réparé, maintenant tout semble fonctionner.
J'avais tort avec le type de "entrée".

Merci encore, bonjour !
 
...vous souvenez-vous de moi.
autre question.
le script fonctionne mais seulement sur le premier fichier, il ne relaie pas l'opération sur les fichiers suivants.
avant de fermer me demande ce qui suit:
richiesta.JPGpour me sauver le fichier créé, je dois lui dire non.
crée également un fichier avec extension Sommaire. Quelqu'un sait pourquoi et comment ne pas le faire ?
J'attache une image avec la séquence de commande.
les coordonnées du point initial du texte, et le point initial et final de la ligne, extrapolez-les à partir du nom du code à travers une formule.
sequenza comandi.JPGCiao
 
lorsque vous créez un fichier script vous devriez écrire le code prr les deux fichiers le fichier bak est un fichier qui est créé au moment de l'enregistrement, il devrait y avoir une option pour inhiber cette création.
la requête finale est parce que vous n'avez pas enregistré le fichier et donc à juste titre il vous demande si lorsque vous fermez il vous voulez aussi le sauver ou non; vous avez un sauvegarde et vous devriez être bien

vous devez toujours garder à l'esprit que autocad considère également un simple zoom un changement et vous demande de sauvegarder confirmation
 
Dernière édition:
pour le moment, je m'arrête ici.
En fin de compte, j'ai dû remettre le fichier Excel selon le mei spécifique sinon il a entré des boucles.
les entrées dans le script sont
créer un nouveau designnouveaux
commande active d'amortissement_importer
fichier da importare (liste Excel)"fichier chemin"
lo zoom a_Zoom
estensioni_
définir la vue actuelle à_vscurrent
ombragé_shaded
enregistrer par nom_qsave
nom de sauvetage (avec extraction de chemin de fichier)nom de fichier que je veux enregistrer
gérer les couches et les propriétés_-couche
nouveauxn
nom du nouveau calqueaxe
gérer les couches et les propriétés_-couche
nouveauxn
nom du nouveau calquecode
gérer les couches et les propriétés_-couche
définir le calque correctr
nom du lyaer pour rendre courantcode
définir la fonction textetexte
point initial du texte-500,0,0
hauteur du texte30
Anol de texte incliné0
testo da far comparire=nome del fichier
gérer les couches et les propriétés_-couche
définir le calque correctr
nom du lyaer pour rendre courantaxe
ensemble non zionalineLigne
Point de ligne initial-500,0,0
point final de la ligne500,0,0
sauvetage_qsave
fermer le fichier_Fermer
grâce à tous, mais surtout à @massivonweizen pour l'aide et la patience!
 
ce que vous devez faire pour laisser aller le script sur plusieurs fichiers et copier seulement la liste entière pour combien de fichiers vous devez traiter.
Si vous avez un code de 15 lignes, copiez-les à partir du 16.
ce processus vous devez le faire parce que vous avez des instructions qui changent (le nom du fichier) de sorte que vous ne pouvez pas lier à la liste de fichiers que vous chargez dans la colonne "nom du fichier".
Ce que je vous suggère de faire est :
remplir seulement la première ligne de la colonne "nom de fichier" (vous pouvez également écrire un texte aléatoire parce que seule la macro d'excel pour travailler)
insérer tous les fichiers à traiter sur une colonne de référence de et sur (tous ces codes d'exemple peuvent bien sûr les supprimer)
écrivez votre code et copiez-le.

comme lorsque vous copiez de nombreuses lignes, les références se déplacent en conséquence pour ne pas avoir à écrire à la main ou changer la formule pour chaque nom de fichier, vous pouvez utiliser le mode liste pour accélérer la procédure; par mémoire il y a un système pour s'assurer que les références se déplacent différemment de combien vous déplacez la cellule de formule, mais mes capacités avec excel sont limitées); des derniers passages j'attache un exemple

Cependant faire les tests sur l'excel j'ai réalisé que vous avez éliminé (justement) la commande fichier deuxième ligne avec importations; juste pour votre connaissance la commande fichier est ce qui permet à la macro de créer le script de plusieurs fichiers en insérant automatiquement le nom pris dans la liste de colonnes "nom de fichier"
 

Pièces jointes

ce que vous devez faire pour laisser aller le script sur plusieurs fichiers et copier seulement la liste entière pour combien de fichiers vous devez traiter.
Si vous avez un code de 15 lignes, copiez-les à partir du 16.
ce processus vous devez le faire parce que vous avez des instructions qui changent (le nom du fichier) de sorte que vous ne pouvez pas lier à la liste de fichiers que vous chargez dans la colonne "nom du fichier".
Ce que je vous suggère de faire est :
remplir seulement la première ligne de la colonne "nom de fichier" (vous pouvez également écrire un texte aléatoire parce que seule la macro d'excel pour travailler)
insérer tous les fichiers à traiter sur une colonne de référence de et sur (tous ces codes d'exemple peuvent bien sûr les supprimer)
écrivez votre code et copiez-le.
C'est exactement ce que j'ai fait. heureux d'avoir confirmé par vous le processus!

la commande de fichier que je ne l'ai pas remplacée par importations Ma conemplacement du fichier Sinon Je suis entré dans des boucles étranges et je n'ai pas pu atteindre le résultat souhaité.fichier emplacement est exactement le chemin où le fichier à importer, égal à ce qui est dans la première colonne mais placé entre guillemets.

J'ai laissé la première colonne sans modification, je trouve très confortable la macro sélection de fichiers et comme mentionné ci-dessus, je dois également trouver l'emplacement des fichiers à importer.
en excellent avec la commande Je presse., à partir du chemin du fichier - puis à partir de la première colonne- travaillant sur le code (qui est un code parlant) je peux extrapoler toutes les informations de compilation des attributs ligne et texte.
excel sheet n'est pas encore complètement automatisé, car par rapport à la longueur du chemin de fichier, je dois ajuster la fonction Je presse. Mais c'est déjà un grand résultat.

Au revoir !
 
la commande de fichier que je ne l'ai pas remplacée par importations Ma conemplacement du fichier Sinon, je suis entré dans des boucles étranges et je n'ai pas pu atteindre le résultat souhaité.
Je n'ai pas expliqué, la commande fichier permet à la macro excel de créer un script en répétant la liste pour chaque ligne de la première colonne.
si par exemple dans la première colonne vous avez 3 lignes a, b, c, et votre liste est:
Ouvre la porte.
fichier
Enregistrer
appuyer sur create script retournera le fichier (ouvrir avec le bloc de note)
Ouvre la porte.
a
Enregistrer
Ouvre la porte.
b
Enregistrer
Ouvre la porte.
C
Enregistrer
avec votre code plutôt, si vous ne vous trompez pas, vous devez faire un script pour les fichiers parce que vous devez mettre à jour chaque fois la référence pour capturer le chemin correct.
Avez-vous vu mon attachement ?

pour la fonction chaîne. estrai si les codes ont une logique vous pouvez entrer une ou plusieurs fonctions si
 
comme lorsque vous copiez de nombreuses lignes, les références se déplacent en conséquence pour ne pas avoir à écrire à la main ou changer la formule pour chaque nom de fichier, vous pouvez utiliser le mode liste pour accélérer la procédure; par mémoire il y a un système pour s'assurer que les références se déplacent différemment de combien vous déplacez la cellule de formule, mais mes capacités avec excel sont limitées); des derniers passages j'attache un exemple
Ciao @massivonweizen et bonne année à tous!
J'ai essayé ton conseil et ça marche très bien !
En fait, une fois que vous définissez la première séquence de commandes, il suffit de faire coller copie et plus besoin de manipuler les références dans les formules, mais seulement choisir le chemin du fichier dans le menu déroulant.

très bon conseil, merci!

Bonjour.
 

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