Aller au contenu

Lisps de Patrick_35


Patrick_35

Messages recommandés

Salut Patrick,

Ca fait quelque temps que je me dis qu'il faut que je laisse un ptit post pour TE mais aussi Vous remercier du temps que vous passez à nous rendre service, à élargir nos connaissances et mettre a disposition toutes ces routines qui pour ma part me font gagner beaucoup de temps ;)

Ca s'est fait!

Alors continue(z), continue(z)....

@+ Magdi

Lien vers le commentaire
Partager sur d’autres sites

Salut PATRICK_35, j'ai testé ton lisp cat,, mais si j'ai bien compris

on sélectionne la source d'information pour l'injecter au symbole cible qui doit être identique à la source, c'est chouette, mais serait-il possible d'adapter sans te commander, à l'heure actuelle j'utilise le lisp attout et attin dans les expresstools.

 

 

en pratique j'execute des plans elec ma source (exemple symbole d'une sonde de température) j'extraie ses informations pour les injecter à

2 autres symboles diffèrent en forme (exemple un symbole représentant un contact et l'autre un bornier avec ses câbles) mais qui contiendront les même informations que le symbole source.

 

pour que cela fonctionne mes symboles ont les même étiquettes et invits mais je dois transiter par un fichier txt.

 

l'idéal c'est un lisp comme cat mais inter symbole en s'inspirant de attout et attin sans transiter en txt

 

merci au plaisir.

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

;;;=================================================================
;;;
;;; CAT.LSP V2.00
;;;
;;; Copier des attributs
;;;
;;; Copyright (C) Patrick_35
;;;
;;;=================================================================

(defun c:cat(/ att bl doc ent sel)
 (vl-load-com)
 (setq doc (vla-get-activedocument (vlax-get-acad-object)))
 (vla-startundomark doc)
 (and	(setq ent (entsel "\nSélectionnez le bloc d'origine : "))
(setq ent (vlax-ename->vla-object (car ent)))
(eq (vla-get-objectname ent) "AcDbBlockReference")
(eq (vla-get-hasattributes ent) :vlax-true)
(princ "\nSélectionnez les blocs destinataires")
(ssget (list (cons 0 "insert") (cons 66 1)))
   (progn
     (setq att (vlax-invoke ent 'getattributes))
     (vlax-for bl (setq sel (vla-get-activeselectionset doc))
(mapcar '(lambda(a b)(vla-put-textstring a (vla-get-textstring b))) (vlax-invoke bl 'getattributes) att)
     )
     (princ (strcat "\n" (itoa (vla-get-count sel)) " bloc(s) modifié(s)."))
     (vla-delete sel)
   )
 )
 (vla-endundomark doc)
 (princ)
)

(setq nom_lisp "CAT")
(if (/= app nil)
 (if (= (strcase (substr app (1+ (- (strlen app) (strlen nom_lisp))) (strlen nom_lisp))) nom_lisp)
   (princ (strcat "..." nom_lisp " chargé."))
   (princ (strcat "\n" nom_lisp ".LSP Chargé.....Tapez " nom_lisp " pour l'éxecuter.")))
 (princ (strcat "\n" nom_lisp ".LSP Chargé......Tapez " nom_lisp " pour l'éxecuter.")))
(setq nom_lisp nil)
(princ) 

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

hello patrick

 

avec GEF 3.04

 

est ce qu'il serait possible d'avoir l'option quand on copie des onglets presentations qu'ils soient directement mis a la fin plutot que copier juste apres

 

un bouton qui copie juste apres ( c'est le cas actuellement )

un bouton qui copie et met a la fin

 

bon week end

 

a+

phil

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Lien vers le commentaire
Partager sur d’autres sites

Bonjour patrick_35, désolé j'ai cru que mon message n'était pas passé,

j'a teste ton lisp, cat v2 mais ça donne le mémé résultat que cat v1

 

comme dans l'explication donné à gille, ça fonctionne que si le block attribut source est le même que le block cible.

 

le code de gille est adapté à mes besoins.

 

merci d'avoir consacré du temps à mon problème.

a+

 

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Bonjour Patrick

 

MILLES MERCI POUR TOUT CES LISP!!!!!!!!!!!!!!!!!

 

J'ai charger le lisp IXL mais je ne comprend pas trop le fonctionnement du lisp :(

 

Je sais que cela peut paraitre un peu simple mais peux tu me donner de plus amples détails sur le fonctionnement.

 

Autre question, il y a t'il un moyen de bloquer les fichiers dwg en ecriture et copie avec un lisp ou un pgm en vb?

 

Merci pour ton aide

 

Gainsbarre57

Allez Salut les P'tits Gars

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...
Bonjour Patrick

 

MILLES MERCI POUR TOUT CES LISP!!!!!!!!!!!!!!!!!

 

J'ai charger le lisp IXL mais je ne comprend pas trop le fonctionnement du lisp :(

 

Je sais que cela peut paraitre un peu simple mais peux tu me donner de plus amples détails sur le fonctionnement.

 

Autre question, il y a t'il un moyen de bloquer les fichiers dwg en ecriture et copie avec un lisp ou un pgm en vb?

 

Merci pour ton aide

 

Gainsbarre57

Salut

 

Le principe d'IXL est d'insérer un/des bloc(s) depuis Exel en précisant le point d'insertion, le calque, l'angle, l'échelle et les attributs si besoin.

 

Un fichier d'exemple est joint avec le zip

 

Pour bloquer le dwg en écriture, tu as la possibilité lors de l'ouverture du dwg de choisir de l'ouvrir en lecture seule.

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Patrick_35 , ton lisp ONG m' a rendu un grand service pour réparer une mauvaise initiative sur une bonne série de plans , il fonctionne parfaitement avec une case de dialogue trés efficace et rapide. Si j'avais eu à supprimer la ribambelle d'onglets un part un , j'aurais maintenant la main en compote.

Merci beaucoup

Lien vers le commentaire
Partager sur d’autres sites

philsogood : Oui, un seul suffit du moment qu'il est sincère ;)

 

qd je vois ce que je sais faire et qd je vois ce que d'autres font...

Petit à petit, l'oiseau fait son nid :cool:

 

usegomme : C'est le but, se faciliter la vie :D

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...

Bonjour,

 

J'ai testé PAT.

 

Super.

 

Et merci.

 

Seulement, sur un dossier il ne fonctionne pas.

 

Le nom du bloc et de l'attribut commencent par un $.

 

Est-ce lié ??

 

Comment y remédier?

 

Merci d'avance.

 

PS : MESSAGE D'ERREUR AUTOCAD "bad argument type: VLA-OBJECT nil"[Edité le 17/8/2010 par Tonio68]

 

[Edité le 22/9/2010 par Tonio68]

Nous ne voyons pas d'autre explication !!!

 

Expert en progiciel de schématique électrique et de note de calcul

SOLIDWORKS Electrical (Issu de elecworks) / SEE Electrical Expert / elec calc HT/BT|BIM|EP / archelios

 

"Il vaut mieux mobiliser son intelligence sur des conneries, que de mobiliser sa connerie sur des choses intelligentes."

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

Bonsoir a tous et surtout a patrick.

Voila j'ai ouvert un post sur autocad 2011, mais suivant les conseils de lili2006 je refais une demande ici:

Voila j'ai utilisé ton lisp LG car il correspond a ce que je chercher.

Tu proposes deux possibilités soit utiluser un gabarit via xls soit via un gabarit dwg. Et c'est justement cette derniere option que je souhaite utiliser cependant j'ai un probléme c'est que en utilisant mon gabarit legende dwg ton lisp fonctionne mais la colonne de quantité n'apparait pas.

Est ce que je l'utilise mal?

Dans le cas ou le lisp avec un gabarit dwg ne permet pas d'avoir cette colonne quantité. Peux tu la rajouter? Car j'ai fait egalement un essai avec un gabarit xls la colonne de quantité et bien créée. Cependant je trouve qu'utiliser un gabarit dwg et plus souple pour moi.

Merci a toi patrick

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Patrick et Merci,

 

J'ai essayais ton LG modifié et c'est exactement ce que je souhaite.

 

Cependant j'ai un soucis quand je fais ma propre légende et que j'utilise le lisp.

 

Pour information j'ai d'abord fait un essai avec un bloc dynamique dans lequel il y a plusieurs etat de visibilité. Le fichier Lg-QI.dwg correspond à ma légende. De plus je te joint un fichier Lg-QI-fichier-essai.dwg qui correspond a mon fichier de travail pour la légende Lg-QI avec bloc dynamique.

 

Ensuite me disant que le problème venais peut être des blocs dynamiques j'ai essayais avec des blocs indépendant (non dynamique). Le fichier Lg-QI2.dwg correspond à ma légende. De plus je te joint un fichier Lg-QI2-fichier-essai.dwg qui correspond a mon fichier de travail pour la légende Lg-QI2 avec bloc non dynamique.

 

 

Voila le message que j'obtiens avec les fichiers Lg-QI2(blocs non dynamique)

[surligneur] Commande: lg

 

Position de la Légende : Définition à double du bloc ivv ignorée.

Définition à double du bloc ibp ignorée.

 

Impossible d'imbriquer des définitions de blocs.

Erreur : groupe DXF incorrect: (1 . 0)[/surligneur]

 

Le bloc ne se crée pas et le tableau va automatiquement en 0,0 et les quantités ni sont pas.

 

Et voila le message que j'obtiens avec les fichiers Lg-QI (un bloc dynamique).

[surligneur] Commande: lg

 

Position de la Légende : Définition à double du bloc commande-eclairage

ignorée.

 

Erreur : type d'argument incorrect: lselsetp nil.[/surligneur]

 

Ci-dessous le lien sur lequel je te joint mes fichiers.

http://cjoint.com/?jwoYExmbO0

 

Peut tu regarder si tu as les même problèmes?

 

Merci

 

A+

Lien vers le commentaire
Partager sur d’autres sites

Merci patrick t'es un cheffffffffffffffffffff.

 

une dernière chose, mais je t'en voudrait pas si tu le fait pas.

 

Pourrait tu ajouter la selection d'objet.

 

Car dans certains cas si le projet n'est pas volumineux je peux avoir 2 voir 3 niveaux sur le même fichier.

 

Le lisp actuellement quantifie dans le dessin entier. En ajoutant un jeu de selection cela me permettrais d'avoir mes légendes par niveau.

 

;)

 

Et encors un grand Merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii

A+

 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Patrick,

 

Il est important que tu sois consciens que ce message n'enléve en rien tous les remerciment de mon message précédent.

 

Cependant j'ai un problème avec le lisp.

Ci-dessous le lien de téléchargement de mon fichier gabarit légende Lg-QI3.dwg et un fichier essais sur lequel j'ai le problème.

 

http://cjoint.com/?jxovRBUdnQ

 

Explication:

Mon futur fichier gabarit légende comportera environs 50 lignes comprenant une 20éne de blocs non dynamique et des blocs dynamique ayant différent état de visibilité (conforme a l'exemple ci-joint).

Donc fort du succés de hier, je reprends le gabarit Lg-Qi.dwg (que je t'ais joint hier) et j'ajoute tous simplement une ligne de plus (en faisant un copier / coller d'une rangée existante:polyliligne fermée, les différents textes et j'insere un nouveau bloc).

Quand j'essais le lisp Lg avec mon fichier gabarit Lg-Qi3.dwg il me crée le bloc légende à l'endroit ou j'ai pointé la souris, mais il n'intégre pas la nouvelle ligne que j'ai crée. En 0,0 il y a la nouvelle rangé avec mon nouveau bloc.????

Est que j'ai pas compris la subtilité de la création du fichier gabarit légende dwg?

Dis moi si je fais quelque chose de mal?

Je m'y prend peut être pas de la bonne façon.

 

Merci

 

A+

Lien vers le commentaire
Partager sur d’autres sites

Grumf

 

J'ai donc revu la partie de l'analyse du gabarit (que j'ai optimisé, car on évolue dans les techniques) et cela ne devrait plus poser de problèmes.

 

Donc, la nouvelle version.

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Et merci Patrick, mais tu vas pas être content, car aprés essayais le lisp modifié, ou j'ai obtenu ma légende.

J'ai fermé et réouvert le fichier et le bloc légende été modifié avec la rangé des titres de colonne en double et avec l'inscription suivante: [surligneur] Référence circulaire pour le bloc *U[/surligneur]

 

ci-joint le fichier essai.

http://cjoint.com/?jyoVqTS5eH

 

désolé :D

 

A+

Lien vers le commentaire
Partager sur d’autres sites

Salut

 

Une référence circulaire est une formule qui fait appel à son propre résultat.

Ce qui veut donc dire que tu as un bloc dans le dessin qui se réfère à lui-même et provoque donc une erreur

 

mais tu vas pas être content

Pas plus que ça ;)

Je suis si raleur que ça ? :cool: , donc un bon français :D

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

Lien vers le commentaire
Partager sur d’autres sites

Salut Patrick,

 

Je sais que le forum est un échange de connaissance entre les différents membres, et il est vrais que depuis le début je ne t'ais pas forcément était d'une grande aide à l'inverse de toutes l'aide précieuse que tu m'a apportée.

Donc parfois il est vrais que je ne voudrais pas trop abuser de ton temps et il est vrais que parfois je me dis que tu erais d'en ton droit de m'envoyais C....

 

Aprés cette déclaration trés émouvante, je vais quand même te faire part de mes différent éssai et des problémes que je rencontre avec le lisp. ;) hihihihi

 

1) Je reviens sur mon message précédent: j'avous que j'ai la facheuse mani quand j'enregistre un plan de purger et de controler mon plan avant de fermer.

Fais un essai de ton côté mais quand tu lance la commande controler puis oui (_audit;o) il se passe un phénoméne qui quand tu re ouvre le fichier il apparaît "référence en double du bloc....."

 

2) ensuite j'ai l'impression que si dans ma légende j'intégre un bloc avec un attribut, le lisp ne fonctionne pas. Il insere bien le bloc gabarit légende mais il ne suprime pas les lignes des blocs non utilisés et il ne fait pas non plus le comptage. De plus à la ligne de commande apparît "objet complexe detecté".

 

Voilà je te laisse avec ces 2 points et je te souhaite un bon week end Patrick.

 

A+

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant



×
×
  • 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é