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

Créer un bloc avec le nom du fichier dans LT

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

ACO

Guest
Au revoir à tous,
dans l'entreprise nous avons ce besoin: nous faisons la nidification et nous aimerions utiliser un système qui automatise la création de fichiers. Je ferais mieux d'expliquer, à partir d'un fichier dxf nous aimerions le convertir en bloc et lui attribuer son nom de fichier, de sorte qu'une fois collé dans une autre feuille de travail il le garde dans les propriétés, pour notre recherche de commodité.
Pour le moment, nous sommes arrivés au point de créer une macro qui sélectionne toute la géométrie du fichier dxf, lui assigne la couche 0, la convertit en bloc et coupe tout.



"c^c_ai_selall"c^c_impdalay; "c^c_block; "c^c_ai_selall"

Cependant, nous ne pouvons toujours pas entrer la partie où le nom du fichier est automatiquement attribué au bloc.
Quelqu'un peut nous aider ou nous donner des conseils ?
Merci d'avance ! :
 
la macro devrait être comme ceci:^c_block; (getvar "dwgname"); 0,0;i.e. lancer la commande bloc, attribuer le nom puis le point de base (0,0), et sélectionner tous les objets
 
la macro devrait être comme ceci:^c_block; (getvar "dwgname"); 0,0;i.e. lancer la commande bloc, attribuer le nom puis le point de base (0,0), et sélectionner tous les objets
Salut, je suis désolé, mais j'ai inséré la macro comme vous l'avez écrite, mais ça ne marche pas parce que ça demande de taper le nom du bloc... J'ai aussi essayé de mettre dans la macro seulement cette ligne, mais le résultat est le même...
(Je fixe la capture d'écran)
 

Pièces jointes

  • screenshot.jpg
    screenshot.jpg
    20.7 KB · Affichages: 7
En fait, le nom ne peut pas être valide car la commande passe également l'extension dxf.
utiliser alors:^c^c_block;(vl-filename-base(getvar"dwgname"));0,0;_all;
 
dans le titre vous commencez autocad lt, peut-être avec le diesel:

^^c_-block $m=$(substr,$(getvar,"dwgname"),1,$(-,$(strlen,$(getvar,"dwgname")),4));0,0 _all;
 
dans le titre vous commencez autocad lt, peut-être avec le diesel:

^^c_-block $m=$(substr,$(getvar,"dwgname"),1,$(-,$(strlen,$(getvar,"dwgname")),4));0,0 _all;
Parfait. Je ne savais pas que c'était... C'est ton code. le seul ça peut marcher.
 
dans le titre vous commencez autocad lt, peut-être avec le diesel:

^^c_-block $m=$(substr,$(getvar,"dwgname"),1,$(-,$(strlen,$(getvar,"dwgname")),4));0,0 _all;
Génial ! il fonctionne (même s'il trouve un espace dans le nom du fichier le reconnaît comme la fin du nom), seulement que maintenant ne exécute pas la première partie de la macro, dans laquelle il sélectionne tout et le convertit en couche 0...
c'est la macro actuellement:

^c^c_ai_selall;
■c^c_laycur;
^c^c_ai_selall;
■c^c_impdalay;
^^c_-block $m=$(substr,$(getvar,"dwgname"),1,$(-,$(strlen,$(getvar,"dwgname")),4));0,0 _all;
 
si vous essayez la seule ligne de commande impdalay vous voyez qu'ils ont besoin de deux autres envoyer pour compléter la commande.
Donc ça marche pour moi, je ne sais pas...

^c^c_ai_selall;
■c^c_laycur;
^c^c_ai_selall;
• • • • •
^^c_-block $m=$(substr,$(getvar,"dwgname"),1,$(-,$(strlen,$(getvar,"dwgname")),4));0,0 _all;
$m=$(substr,$(getvar",dwgname),1,$(-,$(strlen,$(getvar,dwgname")),4));0,0;1;
^c^c_cutclip _dernier;

C'est pas vrai.
 
si vous essayez la seule ligne de commande impdalay vous voyez qu'ils ont besoin de deux autres envoyer pour compléter la commande.
Donc ça marche pour moi, je ne sais pas...

^c^c_ai_selall;
■c^c_laycur;
^c^c_ai_selall;
• • • • •
^^c_-block $m=$(substr,$(getvar,"dwgname"),1,$(-,$(strlen,$(getvar,"dwgname")),4));0,0 _all;
$m=$(substr,$(getvar",dwgname),1,$(-,$(strlen,$(getvar,dwgname")),4));0,0;1;
^c^c_cutclip _dernier;

C'est pas vrai.
Je vous remercie ! la macro fonctionne donc parfaitement, même sur le mien ! J'ai essayé avec des xrifs, mais j'ai vu que vous ne pouvez pas utiliser les fichiers dxf mais seulement dwg fonctionne.
 
J'ai trouvé très utile d'utiliser le nanocad libre où ils peuvent tourner des macros (écrit en vbscript qui à 95% est égal à vba) comme en autocad complet (non lt).
précisément pour la nidification Je commence à partir d'un fichier avec toutes les pièces développées dans des blocs avec des attributs et crée par macro une liste dans excel et un fichier dxf d'exportation pour chaque pièce, chaque fichier créé prend le nom+position+épaisseur+n°pezzi à partir des valeurs des attributs du bloc qui contient le modèle.
Ceci parce que le programme de nidification et de coupe plasma / oxydation demande dxf fichier pour l'importation
 

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