Aller au contenu

script lisps problème de formatage de fichier


dxxx01

Messages recommandés

bonjour et déjà merci pour vos échanges de routine, certain ne sont plus là MERCI a EUX

j'aurais quelques question a poser aux utilisateurs confirmé SVP

1 dans cette exercice que j'ai réalisé

le formatage du texte ci dessous est top mais impossible de pouvoir accroitre les choix pour les calques, j'utilise notepad++ rien a faire, memes avec le normale

les boucle dans le script ne fonctionne  pas bien

image.thumb.jpeg.5252d9ac6029f5967030b1590680557c.jpeg

je dois donc  utiliser la mise en forme  de l'historique d'une  macro qui n'est malheureusement  pas éditable mem en ayant mis le VBA et le VLIDE

PRISE DE TËTE MAIS AU FINAL AVEC  CETTE MISE EN  FORME CELA MARCHE NICKEL

image.thumb.jpeg.eb9814fa6a8c59b61489bff452745245.jpeg

Je copie la colonne de gauche,  A2 etant en  dessous  normalement

cela donne :

image.thumb.jpeg.fb2ee82cee4006c416aff5662655885d.jpeg

 

Jusque là OUF, que de test pour débloquer la situation

j'ai  testé une  moulte quantité de prog ici et a essayer de  l'ai  adapter  mais  je  ne suis pas programmeur

celui  la et le  principe de la  boite de dialogue est BIEN, J'aurais adorer pouvoir rajouter mes propres boucle pour qu'il  fasse un  choix sur des  calques en particulier

issu  de fichier DATA différent par exemple...bon le formatage du  layer ne me va  pas du tous impossible a  mettre  tous les paramètres des calques et  j'ai 450 calques GLoupsse

est  bien : et la fait fonctionné, par contre l'histoire du DET TT et PL

 

Ensuite j'ai  testé celui la CLQ il  marche mais pas pratique car quand on a beaucoup de calque, la commande -calque ebien mais pour une liste courte

le formatage  du texte de calque SGG.DATA ne va  pas on ne peux pas l'étendre avec gelé par exemple car pas pris en charge dans la liste

======================================CLQ

(defun c:clq (/ fichier f data ligne nom coul typline epline)

 (command "-purger" "tout" "tout" "o")
 
 (if (not (tblsearch "LTYPE" "AXES"))
   (command "-TYPELIGNE" "CH" "AXES" "acadiso.lin" "")
   )
 (if (not (tblsearch "LTYPE" "FANTOME"))
   (command "-TYPELIGNE" "CH" "FANTOME" "acadiso.lin" "")
   )
 (if (not (tblsearch "LTYPE" "CACHE"))
   (command "-TYPELIGNE" "CH" "CACHE" "acadiso.lin" "")
   )

   (command "-calque" "n" "0,AXE,CACHE,CADRE,COTATION,COTATION-ANG,Defpoints,DESSIN,DESSIN FIN,EPURE,FENETRE PAPIER,HACHURE,INDICE A,INDICE B,MODIFICATION,REFRACTAIRE,SOUDURE,TEXTE,TEXTE-ANG,TEXTE CARTOUCHE,TITRE,TITRE-ANG,TRAIT FIN CARTOUCHE" "")
 
;DEFINIR LA DESTINATION D'ENREGISTREMENT
 
(if (eq dirclq nil)
 (setq dirclq "C:\\??\\Calque SGG.data")
 )
 (setenv "mem" dirclq)  
(if (or (EQ "P" (setq dirclq (getstring (strcat "\nIndiquer l'emplacement du fichier de lecture des calques ou [Parcourir] <"(getenv "mem")">: "))))
(EQ "p" dirclq))
 (progn
   (if (not (setq dirclq (getfiled "Selectionner le fichier texte..." "C:\\??\\" "data" 8)))
     (progn
   (setq dirclq (getenv "mem")))))
   (setq dirclq (getenv "mem"))
 )
 (princ dirclq)

;DEFINIR LA DESTINATION D'ENREGISTREMENT (FIN)
 
 (setq f (open dirclq "r"))
(while (setq data (read-line f))
  (setq ligne (read (strcat "(" data ")")))
  (setq nom (nth 0 ligne))
  (setq coul (nth 1 ligne))
  (setq typline (nth 2 ligne))
  (setq    epline (nth 3 ligne))
  (setq trac (nth 4 ligne))
  (setq Descrition (nth 5 ligne))
  (command "-calque" "CO" coul nom "TL" typline nom "EP" epline nom "T" trac nom "S" Description"")
  (princ "\n")
  (princ ligne)
  (princ "\n"))
 (close f)) 

=============================================Calque SGG.DATA

"0"    "7"    "CONTINUOUS"    "0.13"    "T"    "essai"
"AXE"    "1"    "AXES"    "0.15"    "T"    "essai"
"CACHE"    "2"    "CACHE"    "0.2"    "T"    "essai"
"CADRE"    "1"    "CONTINUOUS"    "0.15"    "T"    "essai"
"COTATION"    "1"    "CONTINUOUS"    "0.15"    "T"    "essai"
"COTATION-ANG"    "1"    "CONTINUOUS"    "0.15"    "T"    "essai"
"Defpoints"    "7"    "CONTINUOUS"    "0.13"    "T"    "essai"
"DESSIN"    "3"    "CONTINUOUS"    "0.5"    "T"    "essai"
"DESSIN FIN"    "1"    "CONTINUOUS"    "0.15"    "T"    "essai"
"EPURE"    "4"    "CONTINUOUS"    "0.15"    "A"
"FENETRE PAPIER"    "7"    "CONTINUOUS"    "0.13"    "T"    "essai"
"HACHURE"    "6"    "CONTINUOUS"    "0.15"    "T"    "essai"
"INDICE A"    "1"    "CONTINUOUS"    "0.15"    "T"    "essai"
"INDICE B"    "1"    "CONTINUOUS"    "0.15"    "T"    "essai"
"MODIFICATION"    "5"    "CONTINUOUS"    "0.15"    "T"    "essai"
"REFRACTAIRE"    "4"    "FANTOME"    "0.15"    "T"    "essai"
"SOUDURE"    "6"    "CONTINUOUS"    "0.15"    "T"    "essai"
"TEXTE"    "2"    "CONTINUOUS"    "0.35"    "T"    "T"
"TEXTE-ANG"    "2"    "CONTINUOUS"    "0.35"    "T"    "essai"
"TEXTE CARTOUCHE"    "1"    "CONTINUOUS"    "0.15"    "T"    "essai"
"TITRE"        "50"    "CONTINUOUS"    "0.6"    "T"    "essai"
"TITRE-ANG"    "50"    "CONTINUOUS"    "0.6"    "T"    "essai"
"TRAIT FIN CARTOUCHE"    "2"    "CONTINUOUS"    "0.15"    "T"    "essai"

========================================================

Bon j'ai  extrait sous  excel une  dizaine de DWG assez lourd, le  gabarit complet, simple, celui pour les blocs, ect ect il y a  8 lots dans  les calques

comment  je peux faire pour que la  mise en  forme  excel des colonnes soit reconnus dans un script

je veux me faire un pti icone qui  lance un  script pour aller mettre en place tous le gabarit complet  fait via excel

ou  bien  d'ajouter via plusieurs script les gabarits de chaque lots  au fure et a  mesure de l'avancer  du chantier par exemple

========================================================

 

qu'est ce qui  fonctionne le mieux pour les  échanges excel autocad avec  les calques ?

 

merci pour votre aide

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je pratique ça TOUS LES JOURS...

Dans mon tableau EXCEL j'ai une feuille sur laquelle je gère les calques avec toutes les OPTIONS (couleur, type ligne, épaisseur, style de tracé)...

Et une autre feuille contient le SCRIPT qui sera enregistré et exécuter avec AutoCAD.

J'ai de très nombreuses Application qui fonctionnent sur ce principe.

Christian

Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...

cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)

Lien vers le commentaire
Partager sur d’autres sites

bonjour, oui il semblerait que vous ayez une usines a gaz dans votre autocad, il  y a en  effet beaucoup d'outil

Trop pour mes besoins

la je suis en train de modifier ce fichier CLQ.LSP ! j'essaye!

comment faire pour ajouter la partie "Description" et "gelé" a ce programme le reste fonctionne

si même  la partie (command "-calque" "n" "0,AXE,.....

ne me plait pas car je vais avoir moi 350 calques a ajouter dans cette zone ensuite

QUAND j'ajoute une valeur  pour un critère dans les  calques comme  Gelé, Descrition et idem dans le fichier DATA,

il  pète les plombs...

D'ailleurs dans le fichier d'origine la valeur trac ne ce retrouve pas dans la déclaration

image.thumb.jpeg.845a326eba5af2d49f15fa4e45e2d612.jpeg

(defun c:clq (/ fichier f data ligne nom coul typline epline) ///valeur du fichier d'origine

mais est bel  et bien présente en point  4

(setq trac (nth 4 ligne))

moi j'aimerais faire ça>>>>

(defun c:clq (/ fichier f data ligne nom coul typline epline trac desc) ///AJOUTER  TRAC  et  DESC

  (setq desc (nth 5 ligne)) /// AJOUTER UNE 5eme  ligne
  (command "-calque" "CO" coul nom "TL" typline nom "EP" epline nom "T" trac nom "" desc nom "S")

bien  sur dans le fichier SGG .DATA j'ai  ajouté  l'élément pour description

image.jpeg.256f40961ce9ca3f629d5719e5c2ad93.jpeg

mais ça BUG

pict5.JPG

Lien vers le commentaire
Partager sur d’autres sites

bon il semblerait que dés que l'on doit faire un choix pour appliquer ce choix dans la liste des opérateurs suivants

[?/Etablir/CHoisir/Nouv/Renommer/ACtif/INactif/COuleur/TLigne/EPaisseurl/TRANsparence/MAtériau/Tracé/Geler/Libérer/Verrouiller/Déverrouiller/étAt/deScription/RApprocher/Xréf]

comme

"S" description et qu'il  faille remplir quelque chose

"G" gelé le  nom du calque

"TRAN"  Transparence 50%

les premier choix peuvent ce retrouver dans UNE DATA par exemple avec une valeur "X"

les autres en  rouge NON

ce choix si il doit être fait comme dans une grosse majorité des lisps cela ne fonctionne plus avec ces variables de commandes autocad

ce qui explique pourquoi il y a autant d'explication sur le sujet EXCEL AUTOCAD

mais que beaucoup s'arrête a "T" pour tracé

 

Les  scripts OUI  c'est chouette mais le formatage est  en colonnes 🥵

350 calques  plus les options on arrive facilement a 2500 lignes, mêmes si on  a installé  VLIDE qui passe tous en une seule  et unique colonne

Lien vers le commentaire
Partager sur d’autres sites

Il n y a pas un moyen simple avec un fichier EXCEL de support, de construire ces calques

puis via un LSP ou un SCR,  d'avoir dans  autocad ce formatage réalisé tous  bien  tous propre

si  je pouvais avec un  LSP  avoir une  petite boite de dialogue pour faire  le choix sur le fichier a intégrer dans autocad ce  serait le TOP

comme A0 ou  B0 ou C0 ou D0 ou  E0  ou F0 ou G0 H0  ou  I0 pour les phases projets qui serait  prés formater dans Excel

pour éviter de réaliser un programme LSP qui nous donne le choix de formater les calques en  fonction d'un  critère

comme sur un  programme du forum qui  traine ici  AVEC TT DEP LP, pas  simple a  modifié, me suis casser  les  DENTS  DESSUS

Lien vers le commentaire
Partager sur d’autres sites

j  'essaye  depuis un  bon moment mais n'y arrive pas

je souhaite obtenir

ce  formatage la sur le notepad :

"AXE"    "1"    "AXES"    "0.15"    "T"    "AXE"

en partant d'excel avec concaténer ou  avec le  symbole &

  A1                 A2                  A3                     A4              A5             A6

"axe"    Tab   "7"   Tab    "continus"  Tab   "0.13"  Tab   "T"   Tab   "AXE"

=========================================

voila  la  formule excel c 'est soit la tabulation soit les ( " )  mais avec les deux cela ne  marche pas

=CONCATENER(A2;CAR(9);"""";B2;CAR(9);"""";C2;CAR(9);"""";D2;CAR(9);"""";E2;CAR(9);"""";CAR(9);F2)

ce que j'obtiens une fois le texte dans le  blocnote,

c'est presque mais autocad dis niche niche

"AXE    ""1    ""AXES    ""0.15    ""T    ""    AXE"

j'ai  eux beau  trifouillé  dans tous  les sens Pff marche pas

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Avec ce fichier Excel, tu remplis ce que tu veux et tu mets un X dans la colonne à importer (sinon tu la laisses vide), puis tu tries sur cette colonne.

Ensuite tu vas sur l'onglet SCRIPT, tu sélectionnes toutes les cases A1 à Axxx non vides, tu fais Ctrl+C

Dans AutoCAD en ligne de commande, tu fais Ctrl+V

Ou alors, tu enregistres l'onglet SCRIPT en format texte séparateur espace, et tu changes l'extension de PRN à SCR.

 

Olivier

CreationDeCalque.xlsx

Lien vers le commentaire
Partager sur d’autres sites

MERCi

le fichier ne fonctionne pas quand je remplie la feuille data

mets un X  devant chaque colonne puis dans la feuille script et étend la sélection j'ai nom?  qui s'affiche

si je prend  le fichier que tu m'a envoyé  et juste je mets un x

nom? s'affiche dans la ligne 3

j'ai repris  l'intégralité du doc en a fait un neuf

idem

en fin de ligne de la feuille script si j'édite il me demande un fichier pour mettre a jour data

???

je vais essayer de séparer les deux feuilles pour voir

rien y fait cela ne fonctionne pas ce fichier excel

ne possède pas de liaison valide a la feuille data,

donc dans script rien ne ce passe

si j'édite une ligne et fait entrer il me demande un fichier

peu importe fichier ou pas cela ne fonctionne pas

Lien vers le commentaire
Partager sur d’autres sites

c'est mon excel c'est une version  2016 la  fonction _xlfn.CONCAT est prévus pour 2019

 

bon j'ai  enfin réussis après 2 jours de bidouille dans  tous les sens, mon texte de excel  a blocnote est enfon formater correctement

et mon lisps le reconnais BINGO YO les marrons..

Je fait une pose

======================

IL me reste  a faire un TRUC en VBA avec un  beau bouton sous excel, ou plusieurs pourquoi  pas soyons  fou

chaque bouton  devra  pouvoir exporter  la  feuille fraichement  créer avec concaténer dans  un  fichier .DATA  séparé

j'y suis  presque

=====================

comme une partie  chiante est faite je vais  tatonner  pour avoir le  script j'ai mis "command  bidule ""-calque""  machin  le  concatener  passe

Franchement si vous  avez des  infos,  des  exemples  là  je suis preneur

merci déja pour votre  aide

=====

encore loin  mais ça  prend forme

il me reste  les pti boutons dans une  barre d'outils spéciale pour des scripts que je dois  faire, voire pour  intégrer  dans  CTRL+3

Lien vers le commentaire
Partager sur d’autres sites

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité