-
Compteur de contenus
2 160 -
Inscription
-
Dernière visite
-
Jours gagnés
16
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par bryce
-
Bonjour, C'est normal et logique. A quoi bon créer un bloc non décomposable, s'il suffit ensuite de le sélectionner et de le rendre décomposable dans les propriétés ? Pour pouvoir le rendre décomposable, il faut éditer le bloc, et dans l'éditeur de blocs afficher la palette Propriétés sans aucun objet sélectionné. ;) Pour poster des images : http://www.casimages.com/ http://dl.free.fr pour tous types de fichiers.
-
Bonjour, En ce qui me concerne je n'ai toujours pas compris... Qu'est-ce qui ne va pas dans la démarche suivante : - tu as un fichier avec la vue en plan de ton installation (vp.dwg) - tu fais un nouveau dessin appelé calisations.dwg - tu insères vp.dwg en xref - tu dessines tes canalisations - si besoin tu ouvres vp.dwg pour faire des modifs, ou bien dans canalisations.dwg tu édites la xref en place.
-
desactiver toutes les fenetres des espaces papiers
bryce a répondu à un(e) sujet de chrisbric dans AutoCAD 2011
Super ! :) Du coup mon lisp est bon pour la poubelle, c'est infiniment plus rapide de cette façon. (gile), je me suis permis de me baser sur ton code pour ajouter les options demandées par lecrabe. ; VPST : active/désactive toutes les fenêtres de l'onglet courant/tous les onglets ; VPAON : active toutes les fenêtres de tous les onglets ; VPON : active toutes les fenêtres de l'onglet courant ; VPAOFF : désactive toutes les fenêtres de tous les onglets ; VPOFF : désactive toutes les fenêtres de l'onglet courant (defun c:vpon (/ ss) (gc:AllViewportOn :vlax-true (getvar 'ctab)) (princ) ) (defun c:vpaon (/ ss) (gc:AllViewportOn :vlax-true nil) (princ) ) (defun c:vpoff () (gc:AllViewportOn :vlax-false (getvar 'ctab)) (princ) ) (defun c:vpaoff () (gc:AllViewportOn :vlax-false nil) (princ) ) (defun c:vpst (/ option) (initget "DT AT D A") (setq option (getkword "\nChoisissez une option [Désactiver Tout/Activer Tout/Désactiver courant/Activer courant] : ")) (cond ((= option "AT") (c:vpaon)) ((= option "A") (c:vpon)) ((= option "D") (c:vpoff)) ( T (c:vpaoff)) ) (princ) ) (defun gc:AllViewportOn (bool layout / *error* lrc ss) (vl-load-com) (or *acad* (setq *acad* (vlax-get-acad-object))) (or *acdoc* (setq *acdoc* (vla-get-activeDocument *acad*))) (defun *error* (msg) (and msg (or (member (strcase msg) '("FUNCTION CANCELLED" "QUIT / EXIT ABORT" "FONCTION ANNULEE" "QUITTER / SORTIR ABANDON")) (princ (strcat "\nErreur : " msg)) ) ) (setvar 'layoutregenctl lrc) (princ) ) (setq lrc (getvar 'layoutregenctl)) (setvar 'layoutregenctl 0) (if layout (or (/= layout "Model") (progn (princ "\n** Commande non autorisée dans l'onglet Objet**") (quit) ) ) (setq layout "~Model") ) (if (ssget "_X" (list(cons 0 "VIEWPORT") (cons 410 layout) (cons -4 "/=") (cons 69 1))) (vlax-for vp (setq ss (vla-get-ActiveSelectionSet *acdoc*)) (vla-put-ViewportOn vp bool) ) ) (and ss (vla-Delete ss)) (*error* nil) ) (princ "\nCommandes: VPST ou VPON, VPOFF, VPAON, VPAOFF") (princ) http://www.creao.fr/uploads/lisp/vpst.lsp -
desactiver toutes les fenetres des espaces papiers
bryce a répondu à un(e) sujet de chrisbric dans AutoCAD 2011
Bonjour, J'allais justement poster pour dire que le VPOFF de (gile) effectivement ne désactive que les fenêtres de l'onglet courant. Je sais que mon lisp n'est pas top, mais je n'ai pas réussi à désactiver les fenêtres sans changer d'onglet actif. Cela dit, j'espère bien trouver un moyen de l'améliorer. ;) -
Bonjour, Il y a un fichier de test réponse n°19.
-
Bonjour, Ça ca va t'indiquer la date de création du fichier, mais pas celle du dessin. Si tu prends un vieux dessin et que tu fais une copie du fichier via l'explorateur Windows par ex., la date de création du fichier sera celle d'aujourd'hui. La date indiquée par la commande _TIME d'AutoCAD est sans doute un peu plus fiable, mais pas infaillible non plus.
-
LISP et Visual LISP, les différences entre AutoCAD et ZWCAD
bryce a répondu à un(e) sujet de bryce dans Débuter en LISP
Bonjour, Merci pour le retour. La correction proposée par ZWSOFT est la même que celle que j'ai trouvée tout seul, càd faire un vla-clear sur le jeu de sélection. Par contre il faudrait leur demander maintenant pourquoi un vla-delete sur un jeu de sélection provoque une erreur, alors que normalement c'est une méthode supportée par ce type d'objet. Voici un petit code de test à soumettre à nos amis Chinois : :P (defun c:test () (vl-load-com) (setq acdoc (vla-get-ActiveDocument (setq obj (vlax-get-acad-object))) ) (if (setq ss (ssget "X")) (progn (setq ss (vla-get-activeselectionset acdoc)) (vla-delete ss) ) ) (princ) ) Fonctionne sans problème dans AutoCAD, mais provoque une erreur dans ZwCAD. Pourtant dans l'aide il est écrit: -
desactiver toutes les fenetres des espaces papiers
bryce a répondu à un(e) sujet de chrisbric dans AutoCAD 2011
Pas de pb avec le dump chez moi, et je peux activer/désactiver une fenêtre avec vla-put-viewporton en tapant directement dans la ligne de commande AutoCAD. Mais le lisp plante quand j'essaie d'utiliser cette fonction en parcourant les présentation avec vlax-for... :casstet: -
desactiver toutes les fenetres des espaces papiers
bryce a répondu à un(e) sujet de chrisbric dans AutoCAD 2011
Bonsoir, Je te propose ceci : http://www.creao.fr/uploads/lisp/vpai.lsp (defun c:vpai (/ obj acdoc layouts lay oldcmdecho olderr action ss clayout) ; Brice Studer, février 2011 ; Permet d'activer toutes les fenêtres de toutes les présentations du dessin, ; ou de toutes les désactiver (en choisissant éventuellement de garder actives ; certaines fenêtres de la présentation active). (vl-load-com) (setq layouts (vla-get-layouts (setq acdoc (vla-get-ActiveDocument (setq obj (vlax-get-acad-object))))) ) (vla-startundomark acdoc) (setq olderr *error*) (setq *error* trap) (setq oldcmdecho (getvar "CMDECHO")) (setvar "CMDECHO" 0) (defun trap(errmsg) (command nil nil nil) (or (member (strcase errmsg) '("FUNCTION CANCELLED" ""QUIT / EXIT ABORT"" "FONCTION ANNULEE" "QUITTER / SORTIR ABANDON")) (princ (strcat "\nErreur : " errmsg)) ) (setq *error* olderr) (setvar "CMDECHO" oldcmdecho) (setvar "NOMUTT" 0) (vla-EndUndoMark acdoc) (princ) ) (initget "Activer Désactiver") (setq action (getkword "\nEntrée pour désactiver toutes les fenêtres ou [Activer]: ")) (if (= action "Activer") (setq action "_on") (progn (setq action "_off") (princ "\nSélectionnez les fenêtres à garder actives (Entrée pour aucune): ") (setq ss (ssget '( (0 . "VIEWPORT") ))) ) ) (setvar "NOMUTT" 1) (setq clayout (getvar "CTAB")) (vlax-for lay layouts (if (eq :vlax-false (vla-get-modeltype lay)) (progn (vla-put-activelayout acdoc lay) (command "_.-vports" action "_all" "") (if (/= 0 (getvar "CMDACTIVE")) (command nil nil nil) ) );progn );if layout not model );vlax-for lay (setvar "CTAB" clayout) (if ss (command "_.-vports" "_on" ss "") ) (setvar "CMDECHO" oldcmdecho) (setvar "NOMUTT" 0) (vla-endundomark acdoc) (princ) ) (princ "\nCommande à utiliser: VPAI") (princ) Si jamais un Maître Jedi du lisp passait dans le coin, j'aimerais son avis sur le code ci-dessous, que je n'ai pas réussi à faire fonctionner. Je n'arrive pas à trouver ce qui cloche... :exclam: (defun c:vpai (/ obj acdoc layouts lay action clayout) (vl-load-com) (setq layouts (vla-get-layouts (setq acdoc (vla-get-ActiveDocument (setq obj (vlax-get-acad-object))))) ) (vla-startundomark acdoc) (initget "Activer Désactiver") (setq action (getkword "\nEntrée pour désactiver toutes les fenêtres ou [Activer]: ")) (if (= action "Activer") (setq action :vlax-true) (setq action :vlax-false) ) (setq clayout (getvar "CTAB")) (vlax-for lay layouts (if (eq :vlax-false (vla-get-modeltype lay)) (progn (vla-put-activelayout acdoc lay) (vlax-for ent (vla-get-block lay) (if (and (= "AcDbViewport" (vla-get-objectname ent)) (vlax-property-available-p ent 'viewporton) ) (vla-put-viewporton ent action) ) );vlax-for ent );progn );if layout not model );vlax-for lay (setvar "CTAB" clayout) (vla-endundomark acdoc) (princ) ) [Edité le 28/2/2011 par bryce] -
desactiver toutes les fenetres des espaces papiers
bryce a répondu à un(e) sujet de chrisbric dans AutoCAD 2011
Bonjour, Ça peut se faire avec macro si les présentations sont numérotées. Comment sont nommées tes présentations ? Sinon en lisp, si tu as bien une version complète. -
Bonjour, Problème de scu peut-être ?
-
Bonjour, Un fichier en exemple ? Après une petite formation ça irait mieux je pense... ;)
-
Bonjour, Effectivement, on dirait que ce service d'hébergement a été stoppé... Et dl.free.fr pédale dans la semoule aussi ! :o J'ai mis le fichier en ligne sur mon propre site, voici le lien : http://www.creao.fr/uploads/lisp/proj3d.lsp http://dl.free.fr/cqK9EE1sx Edit: lien supplémentaire au cas où... [Edité le 28/2/2011 par bryce]
-
Bonsoir, Ça ne fonctionne pas tout simplement avec ceci ? objSurCalqueLegende.Color = 50
-
Bonsoir, Nouvelle version, avec les textes de pente : http://www.creao.fr/uploads/lisp/proj3d.lsp :) http://dl.free.fr/cqK9EE1sx Edit: lien remplacé [Edité le 28/2/2011 par bryce]
-
Tant mieux ! :) Le texte doit se positionner où et comment ? Dans le plan XY du SCG à une altitude de 0 ? Dans un plan parallèle au plan XY, avec un Z correspondant à celui du milieu de la ligne ? Autrement ?
-
Bonsoir, Voici un lisp qui a l'air de fonctionner comme tu le souhaites pour la partie projection des blocs. Je n'ai pas encore intégré le calcul et l'affichage de la pente. Dis-moi déjà si ça correspond à ton besoin. :) Edit: lien et code supprimés, nouvelle version un peu plus bas. [Edité le 27/2/2011 par bryce]
-
Je n'ai absolument rien compris... :casstet:
-
Je n'ai pas essayé avec le notepad de Windows... Mais avec Notepad++ (opensource et gratuit), je n'ai pas eu de souci.
-
http://cadxp.com/index.php?/topic/30191-mettre-a-jour-plusieurs-cartouche-bloc/page__view__findpost__p__163493 ;)
-
Bonjour, Je ne sais pas s'il existe une variable, mais dans les Options > onglet Système il y a un bouton "Paramètres des messages masqués" en haut à droite, où on peut cocher les messages/boîtes de dialogue qu'on veut voir réapparaître.
-
Bonjour, Pas possible directement à la création du bloc... Après insertion par contre, tu peux insérer un champ comme valeur d'un des attributs (champ de type objet, qui irait récupérer la valeur de l'autre attribut). Sinon tu pourrais aussi renseigner l'intitulé du dessin dans les propriétés du fichier (Fichier > Propriétés du dessin), et utiliser comme valeur par défaut de tes attributs un champ qui irait récupérer l'intitulé dans les propriétés du dessin. ps: il vaudrait mieux aussi donner une étiquette différente à chaque attribut. ;) [Edité le 25/2/2011 par bryce]
-
http://nsa25.casimages.com/img/2011/02/25/1102250342438297.png
-
Bonjour, Voici une possibilité, en utilisant des paramètres personnalisés (AutoCAD 2010 minimum), et des champs comme valeur d'attributs : Attention, pour changer les valeurs de TN ou Prof, il ne faut pas éditer les attributs du bloc, mais passer par la palette Propriétés pour changer les valeurs des paramètres personnalisés.
-
Bonjour, J'ai deux pseudo solutions à te proposer : 1) Tu fais en sorte que le fichier ne change pas de nom. :P C'est-à-dire que tu travailles toujours dans le même fichier (par ex. batiment_ind), et en cours de route tu enregistres des copies de sauvegarde (batiment_ind_bak1, batiment_ind_bak2, etc.). Pour enregistrer une copie du fichier en cours, commande SAUVEGRD ou _SAVE. 2)Tu continues à travailler comme tu le fais actuellement, et à chaque "enregistrer sous" tu édites les fichiers dxe avec un éditeur de texte et tu fais un rechercher/remplacer de l'ancien nom de fichier par le nouveau nom de fichier. Notepad++ par ex. permet de faire facilement un rechercher/remplacer dans plusieurs fichiers. C'est un peu plus scabreux comme méthode... :P
