-
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
-
[Résolu] Récupérer les calques d'un gabarit
bryce a répondu à un(e) sujet de La Lozère dans Routines LISP
Bonjour, Un petit lisp vite fait: (defun opendbx(dwg / dbx) ; par Patrick_35 (if (< (atoi (substr (getvar "ACADVER") 1 2)) 16) (setq dbx (vlax-create-object "ObjectDBX.AxDbDocument")) (setq dbx (vlax-create-object (strcat "ObjectDBX.AxDbDocument." (substr (getvar "ACADVER") 1 2)))) ) (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-open (list dbx dwg))) nil dbx ) ) (defun c:LAYIMPORT ( / template f laylist ) ; Nom du gabarit contenant les calques (setq template "test.dwt") (vl-load-com) (if (setq f (opendbx (strcat (getenv "TemplatePath") "\\" template))) (progn (vlax-for l (vla-get-layers f) (or (wcmatch (vla-get-Name l) "*|*") (setq laylist (cons l laylist)) ) ) (vlax-invoke f 'CopyObjects laylist (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object)))) (vlax-release-object f) ) ) (princ) ) -
Bonjour, Avec BATTMAN, on peut aussi modifier les propriétés des attributs (hauteur, justification, style, visibilité, etc.), sans passer par l'éditeur de blocs. Et la synchro se fait automatiquement...
-
Bonjour, Y a-t-il d'autres objets OLE dans le fichier, qu'il faudrait conserver ? Pourrais-tu poster un fichier en exemple ?
-
Bonjour, Dans les options, on ne peut que modifier les listes d'échelles par défaut (métrique ou anglo-saxonne), pas l'appliquer au dessin courant. Pour réinitialiser la liste d'échelles du dessin, tu peux lancer la commande MODIFLISTECHELLE, puis cliquer sur le bouton Réinitialiser. ;)
-
Bonjour, C'est de ta faute, c'est parce que tu as fermé ScanDXF en faisant clic droit > Fermer la fenêtre dans la barre des tâches après l'avoir minimisé. :P Je viens de mettre en ligne une version Beta 15 pour corriger ce problème. ;)
-
Accès DWG sans AutoCAD
bryce a répondu à un(e) sujet de PhilBat dans ObjectARX/DBX, C++, .NET, RealDWG
Bonjour, C'est écrit en RealBasic. ;) Edit: arf, j'ai encore oublié de rafraîchir l'onglet avant de répondre... -
Bonjour, Ce n'est pas si flou, puisque tu as bien compris ce qui se passe ! ;) Si tu charge dans le même dessin un 1er fichier qui contient (defun c:LispA (/) ... ) (defun Dialog1_verification (/) ... ) puis un 2nd fichier qui contient (defun c:LispB (/) ... ) (defun Dialog1_verification (/) ... ) alors la fonction Dialog1_verification chargée avec le 2nd fichier va forcément écraser et remplacer la 1ère. Tu peux donc effectivement soit les nommer différemment, soit les déclarer en fonctions locales: (defun c:LispA (/ Dialog1_verification ) (defun Dialog1_verification (/) ... ) ... ) (defun c:LispB (/ Dialog1_verification ) (defun Dialog1_verification (/) ... ) ... )
-
Bonjour, Pas besoin de macro, ça existe en standard: commande GELCALQUE, menu Format > Outils de calques > Gel de calque. Il y a une icône dans le Ruban ou dans la barre d'outils "Calques II". ;)
-
Bonjour, Le bloc est bien inséré dans le calque courant, mais comme il est décomposé dans la foulée, on se retrouve avec les objets constitutifs du bloc, qui ont leurs propriétés (calque, couleur, etc.) propres. En l'occurrence, le bloc explosé contient un autre bloc qui se trouve sur le calque 0. Tu peux donc insérer le 1er bloc sur n'importe quel calque, en le décomposant tu retrouveras toujours le bloc imbriqué sur le calque 0... A moins de décomposer avec XPLODE et l'option Hériter, au lieu de l'astérisque: ...-inserer;03_EP_VIGNETTE;\1;0;xplode;d;;h
-
Bonjour, Notepad++ ne nécessite pas forcément d'installation. Il suffit de le télécharger en zip, et on peut le décompresser n'importe où (sur le Bureau, une clé USB...) puis l'utiliser. ;)
-
Supprimer un sommet de polyligne en créant un arc
bryce a répondu à un(e) sujet de G_P_TP dans AutoCAD 2012
Bonjour, Pour ta macro, il faudrait plutôt quelque chose comme ça: ^C^Carc;\\\pe;d;;;ef Il faut 3 pauses après la commande Arc (pour les 3 points). -
Bonjour, Sur Autodesk Exchange, il y a un plugin gratuit appelé AutoWblock (par DotSoft), qui fonctionne bien.
-
Youpi ! :)
-
Supprimer un sommet de polyligne en créant un arc
bryce a répondu à un(e) sujet de G_P_TP dans AutoCAD 2012
Bonjour, Si j'ai bien compris, il s'agit d'inclure un arc passant par 3 sommets dans une polyligne qui a plus de 3 sommets. Pas si simple donc, hors lisp je ne vois pas vraiment de solution plus rapide que la manip décrite dans le 1er post. -
J'ai fait une petite modif supplémentaire pour éliminer les calques verrouillés...
-
Bonjour, (ssget "_A") ne sélectionne pas les objets se trouvant sur des calques gelés.
-
Bonjour, Relis bien tout le fil... ;)
-
Il suffit de la faire glisser de quelques pixels vers le bas, et elle s'ancrera comme dans les versions précédentes. Rien n'a changé en fait, si ce n'est son positionnement par défaut... :)
-
Bonsoir, Je ne sais pas pour Map, mais en tout cas la ligne de commande est présente sur les autres produits 2013 que je connais ou ai vu (AutoCAD standard, Mechanical, Electrical, Structural Detailing...). :huh:
-
Ah oui, en fait je n'avais pas testé sur des cotes angulaires... :P Voici une nouvelle version qui les prend en compte (+ de petites améliorations rapides): (defun c:DIMFREEZE ( / acdoc layers lockedLayers ss dimTxt dimFormat dimOverride ) ; Force les valeurs des cotes sélectionnées à leur valeur réelle actuelle. ; Bryce, 03/2013 (vl-load-com) (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object)) layers (vla-get-LAyers acdoc) filter '( (0 . "DIMENSION") ) lockedLayers "" ) (vlax-for l layers (if (= (vla-get-Lock l) :vlax-true) (setq lockedLayers (strcat lockedlayers (vla-get-Name l) ",")) ) ) (if (/= lockedLayers "") (setq filter (append filter (list (cons -4 "<NOT") (cons 8 lockedLayers) (cons -4 "NOT>")))) ) (if (cadr (ssgetfirst)) (setq ss (ssget "_I" filter)) (progn (prompt "\nSélectionnez les cotes à forcer ou <entrée pour toutes> : ") (or (setq ss (ssget "_:L" filter)) (setq ss (ssget "_A" filter)) ) ) ) (if ss (progn (vla-StartUndoMark acdoc) (setq ss (vla-get-ActiveSelectionSet acdoc)) (vlax-for d ss (cond ((vlax-property-available-p d 'UnitsFormat) (setq dimTxt (rtos (vla-get-Measurement d) (vla-get-UnitsFormat d) (vla-get-PrimaryUnitsPrecision d)) ) (cond ((= (vla-get-ObjectName d) "AcDbDiametricDimension") (setq dimTxt (strcat "%%c" dimTxt)) ) ((member (vla-get-ObjectName d) '("AcDbRadialDimension" "AcDbRadialDimensionLarge")) (setq dimTxt (strcat "R" dimTxt)) ) );cond ) ((vlax-property-available-p d 'AngleFormat) (setq dimFormat (vla-get-AngleFormat d) dimTxt (angtos (vla-get-Measurement d) dimFormat (vla-get-TextPrecision d)) ) (cond ((zerop dimFormat) (setq dimTxt (strcat dimTxt "%%d")) ) ((= dimFormat 1) (setq dimTxt (vl-string-subst "%%d" "d" dimTxt)) ) );cond ) );cond (setq dimTxt (strcat (vla-get-TextPrefix d) (vl-string-subst (vla-get-DecimalSeparator d) "." dimTxt) (vla-get-TextSuffix d) ) dimOverride (vla-get-TextOverride d) ) (if (/= dimOverride "") (setq dimTxt (vl-string-subst dimTxt "<>" dimOverride))) (vla-put-TextOverride d dimTxt) );vlax-for (vla-Delete ss) (vla-EndUndoMark acdoc) );progn );if ss (princ) )
-
Bonjour, Qu'est-ce qui te fait penser ça ? :huh: Je ne vois pas pourquoi dans ce cas ils se seraient amusés à l'"améliorer" dans les versions récentes (autocomplétion, options cliquables dans la 2013...) ? A mon avis, AutoCAD sans ligne de commande, ce n'est pas demain la veille...
-
Bonjour, J'ai l'impression que Rimbo n'a pas chargé la routine ELLIPSETOPOLYLINE dont EL2PL a besoin... :unsure:
-
Bonjour, Il suffit d'utiliser Sélection rapide avant de lancer Dimfreeze... :P
-
Bonjour, Lors d'un rendu, les 4 coeurs de mon i5 sont à 100%... ;)
-
modification de force8 en forcebylayer
bryce a répondu à un(e) sujet de sechanbask dans Débuter en LISP
Bonjour, Par exemple: (setq objType (vla-get-ObjectName obj)) (cond ((= objType "AcDbText") ... ) ((wcmatch objType "AcDb*Dimension") ... ) )
