Aller au contenu

JPhil

Membres
  • Compteur de contenus

    207
  • Inscription

  • Dernière visite

  • Jours gagnés

    6

Tout ce qui a été posté par JPhil

  1. J'ai un lisp qui copie la valeur d'un attribut ou texte et qui le colle dans un autre attribut ou texte : ;;; ;;; Copie la valeur du texte d'un attribut de bloc ou texte ;;; et le colle sur un texte d'un attribut de bloc ou texte ;;; (defun c:COPYATT ( / selatt selatt2 objatt objatt2) (setq selatt (nentsel (strcat "\nSélectionner l'attribut ou le texte à copier :"))) (setq selatt2 (nentsel (strcat "\nSélectionner l'attribut ou le texte de destination :"))) (setq objatt (vlax-ename->vla-object (car selatt))) (setq objatt2 (vlax-ename->vla-object (car selatt2))) (if (and (or (= (vla-get-ObjectName objatt) "AcDbText") (= (vla-get-ObjectName objatt) "AcDbMText") (= (vla-get-ObjectName objatt) "AcDbAttribute")) (or (= (vla-get-ObjectName objatt2) "AcDbText") (= (vla-get-ObjectName objatt2) "AcDbMText") (= (vla-get-ObjectName objatt2) "AcDbAttribute"))) (vla-put-textstring objatt2 (vla-get-textstring objatt)) ) (princ) ) ;;; A adapter selon tes besoins.
  2. JPhil

    Création de légende

    De mémoire dans la légende, tu peux changer de vue (vue de face, vue de côté ...), c'est pas terrible mais ça a le mérite d'exister. Pour l'échelle du dessin, j'avoue ne pas avoir trouvé la solution, enfin presque. Mon Bim Manager de l'époque redessine par dessus la famille, supprime la famille et applique une échelle sur son "nouveau" dessin. J'ai toujours trouvé cette solution bancale.
  3. De mémoire ta famille doit être créée par face, et non par mur ou sol. Par face, tu peux la mettre où tu veux même sur un autre élément.
  4. JPhil

    Prb calcul dans bloc

    Quand je vois "Epaisseur en mm : 100.00_mm", je me pose la question du pourquoi "_mm" après la valeur "100.00" ? Est-ce vraiment utile ? Il se peut que le problème vient de là. AutoLisp n'est pas assez intelligent pour faire 2 pommes + 3 bananes, mais suffisamment intelligent pour faire 2 + 3.
  5. JPhil

    Comment jouer de la trompette?

  6. JPhil

    Comment jouer de la trompette?

    En créant un modèle in-situ.
  7. Si la fonction recherche et zoom d'AutoCad fonctionne plutôt bien dans l'espace objet, il n'en est pas de même pour l'espace papier. Jusqu'à présent ça ne me posait pas de problème. Lorsque je suis dans une présentation avec une ou plusieurs fenêtres, je souhaiterai savoir si mon élément se trouve bien sur cette présentation ou pas. [idée] Peut-être utiliser le lisp "SelectByVport" de (gile) mais avec une méthode automatique de sélection de toutes les fenêtres ? Mais quid du zoom sur l'élément recherché ?
  8. JPhil

    A bientôt CADXP

    Oh la la ! Comment va-t-on faire sans notre développeur VBA attitré ? 😱 Bon, l'important est que tu te plaises dans cette nouvelle expérience. 😉
  9. Une ressemblance avec ce post >>> ici <<<
  10. JPhil

    DYN2STAT

    La réponse à la question est ici : (gc:GetItem *blocks* (setq n (strcat (vla-get-EffectiveName b) "_" (itoa i)))) En supprimant cette partie "_" (itoa i) il n'y aura plus d'incrémentation. Mais comme c'est lié à un bloc dynamique, il y a peut-être une raison pour que le nom du bloc soit incrémenté. Et la raison se trouve au début du programme : Converti les blocs dynamiques sélectionnés en blocs statiques Donc au final, pas sûr que le programme DYN2STAT soit adapté à ton besoin. Peux-tu nous dire ce que tu veux faire avec ton bloc Chambre ? Ton bloc Chambre, il est dynamique ou pas ?
  11. JPhil

    DYN2STAT

    Est-ce possible de nous partager le code du lisp DYN2STAT ?
  12. Voici un programme qui récupère la valeur d'un texte (mtexte ou attribut) et le colle sur un texte (mtexte ou attribut) : (defun c:foo ( / selatt selatt2 objatt objatt2) (setq selatt (nentsel (strcat "\nSélectionner l'attribut ou le texte à copier :"))) (setq selatt2 (nentsel (strcat "\nSélectionner l'attribut ou le texte de destination :"))) (setq objatt (vlax-ename->vla-object (car selatt))) (setq objatt2 (vlax-ename->vla-object (car selatt2))) (if (and (or (= (vla-get-ObjectName objatt) "AcDbText") (= (vla-get-ObjectName objatt) "AcDbMText") (= (vla-get-ObjectName objatt) "AcDbAttribute")) (or (= (vla-get-ObjectName objatt2) "AcDbText") (= (vla-get-ObjectName objatt2) "AcDbMText") (= (vla-get-ObjectName objatt2) "AcDbAttribute"))) (vla-put-textstring objatt2 (vla-get-textstring objatt)) ) )
  13. Le mieux c'est de regarder directement chez Autodesk : - AutoCAD 2023 >>> ici <<< - Revit 2023 >>> ici <<< En résumé : Processeur avec une fréquence supérieur à 3.00Ghz et plusieurs coeurs. Mémoire 16 Go de RAM minimum Résolution de l’affichage : 1920 x 1080 minimum PC Fixe ou Portable : ça dépend si tu fais télétravail ou pas, si tu dois te déplacer en réunion avec ou pas ...
  14. Et concernant les données étendues (XData), faudra-t-il rester sur une version Full ?
  15. Si tu utilises un style de tracé STB, c'est normal que les épaisseurs de ligne ne soient pas respectées quand tes mises en page sont créées dans l'espace objet. Pour avoir les épaisseurs de ligne avec un style de tracé STB il faut passer par une présentation.
  16. OK pour un nouveau forum mais quid de la section "LISP et Visual LISP" ?
  17. Concernant ton bloc, comment savoir l'ordre ? Y'a t-il un attribut (ou tout autre élément de référence) qui pourrait nous dire dans quel ordre les gérer ? Car sans indications, il se peut que ta première présentation face référence au bloc de gauche, la deuxième présentation face référence à l'avant dernier bloc de droite, la troisième présentation face référence au bloc du milieu, la quatrième présentation face référence au dernier bloc de droite, ... Et vu ton dessin, je ne pense pas que ce soit le résultat attendu.
  18. 1) Tu listes l'ensemble des calques. 2) Par le biais d'une boucle tester chaque calque. a) Si le calque correspond à "DIVISION" ne rien faire. b) Si le calque ne correspond pas à "DIVISION" supprimer le calque avec son contenu. 3) PURGER puis enregistrer le dessin.
  19. Oui! Donc si tu modifies ton premier lisp pour inclure le chemin, il se pourrait que la commande SAVEAS accepte de sauvegarder ton fichier. Pour le deuxième programme, souhaites-tu effacer des éléments appartenant à un ou des calques précis, ou souhaites-tu effacer des éléments appartenant à une ou des couleurs précis (couleur du calque, couleur de l'objet), ou souhaites-tu un mixte des deux ? Bref, si t'es clair dans ton explication, généralement le programme suit. Faits les étapes en mode manuel de ce que tu veux, note à côté la commande AutoCAD pour y parvenir et ça deviendra ton programme.
  20. Si je te demande le résultat, c'est qu'il y a une différence entre : (setq filename (strcat (vl-filename-base (getvar 'dwgname)) "_Archive.dwg")) et : (setq filename (strcat (getvar "dwgprefix") (getvar "dwgname"))) (setq new-filename (strcat (substr filename 1 (- (strlen filename) 4)) "_Archive.dwg")) Avant d'aller plus loin, vois-tu la différence ?
  21. JPhil

    CHAT GPT

    Je viens de tester avec un collègue. Ca risque d'être très amusant 😁 Question : pouvez me créer un lisp qui convertit une ellipse en polyligne Réponse : (defun ellipse-to-polylines (center-x center-y radius-x radius-y segments) "Converts an ellipse to a polyline using the specified number of line segments." (let ((polylines (list))) (dotimes (i segments) (let ((angle (* i (/ pi (/ segments 2.0))))) (let ((x (+ center-x (* radius-x (cos angle))))) (let ((y (+ center-y (* radius-y (sin angle))))) ;; Ajoute un point à la polyligne (if (null (car polylines)) (setf polylines (list (list x y))) (setf (car polylines) (append (car polylines) (list x y)))))))) ;; Retourne la liste de polylignes polylines)) Question : pouvez me créer un lisp qui converti une ellipse en polyligne sur autocad Réponse : A comparer à la solution de @(gile) >>> ici <<<
  22. Quand tu tapes cette instruction dans la ligne de commande d'AutoCAD : (strcat (vl-filename-base (getvar 'dwgname)) "_Archive.dwg") Quel est le résultat ?
  23. C'est plutôt cela qu'il faudrait retenir. Si tu ne veux pas te faire exploiter alors il ne faut pas travailler et dans ce cas là c'est toi qui va exploiter le système (ou les personnes) pour arriver à tes fins.
  24. La commande "DEFDUCALQUE" pourrait faire l'affaire 😉
  25. JPhil

    Hachures (catalogue)

    Un début de réponse peut-être >>> ici <<< ? (Pas testé)
×
×
  • 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é