Aller au contenu

Messages recommandés

Posté(e)

bonjour a tous

 

une petite question

comment puis je faire une interruption d'une vue

 

je m'explique

 

je dessine une porte Echelle 1 et j aimerais avoir pour ma mise en plan juste la vue des profil du haut et du bas

pas les 2 mètre de verre au milieu ( comme quand l'on dessine a la main on ne dessine pas 3 km de garde corps on fait des interruption )

le souci

 

et quand je rapproche mes vue

les cotes ne suive pas

elle affiche les cotes réel

 

la seul parade que j'ai trouvé et de forcé toute les cotes

sa prend du temps

augmente les chance de faire des erreur et tape sur les nerf de mon boss

 

pouvez vous m'aidez

post-36816-0-06094700-1342677777_thumb.png

Posté(e)

Bonjour,

 

La solution que tu utilises est la plus simple.

 

L'autre possibilité est de créer des fenêtres dans une présentation, chaque fenêtre n'affichant qu'une des extrémités.

C'est un peu acrobatique, mais le dessin reste en taille réelle dans l'espace Objet.

 

 

merci

 

il n'y a pas de possibilité de bridé toute les cote d un coup

exemple de dire

 

mon 2000 je bloque et que même si je met sur un espace de 10 il me laisse les 2000

car la il faut clique la cote

effacer et remarquer la même .....

Posté(e)

Sur une version complète, un exemple de programme en Lisp pour figer toutes les cotes sélectionnées en une fois :

 

(defun c:DIMFREEZE ( / acdoc filter ss )
 (vl-load-com)
 (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object))
   filter '( (0 . "DIMENSION") ) )
 (if (cadr (ssgetfirst))
   (setq ss (ssget "_I" filter))
   (progn
     (prompt "\nSélectionnez les cotes à forcer ou <entrée pour toutes> : ")
     (or
       (setq ss (ssget filter))
       (setq ss (ssget "_X" filter))
     )
   )
 )
 
 (if ss
   (progn
     (vla-startundomark acdoc)
     (setq ss (vla-get-ActiveSelectionSet acdoc))
     (vlax-for d ss
       (vla-put-TextOverride d (rtos (vla-get-measurement d) (vla-get-UnitsFormat d) (vla-get-PrimaryUnitsPrecision d)) )
     )
     (setq ss nil)
     (vla-endundomark acdoc)
   );progn
 )
 
 (princ)
)

  • 8 mois après...
Posté(e)

Hello Bryce

 

Sympa ta routine, mais SVP j'aimerais bien une autre version qui ne traite QUE les Cotes angulaires !

Cotes angulaires : en degres decimaux ou en degres/mns/sec ou etc ...

 

Merci d'avance, lecrabe

Autodesk Expert Elite Team

Posté(e)

Hello Bryce

 

Quand le vieux decapode (de 56 ans) cause (meme si parfois il radote ...)

SVP on l'ecoute !?

 

Attention : Tu me payes une bouffe quand je viens en Alsace

ou plutot ce sera le contraire vu le nombre de routines

que tu as developpees / ameliorees suite a mes demandes !

 

Avant d'ecrire, j'ai quand meme teste et je peux t'assurer que avec mon AutoCAD 2013 32 bits

le DIMFREEZE ne fonctionne pas sur MES Cotes angulaires !

 

Et ce que les Cotes angulaires soient en Decimal ou en Degres/mns/secs ...

 

; erreur: Le serveur ActiveX a renvoyé l'erreur: nom inconnu: UnitsFormat

 

Sorry, lecrabe

Autodesk Expert Elite Team

Posté(e)

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)
)

Posté(e)

Bonjour Bryce,

 

Petite question n'ayant pas vraiment rapport avec la question initiale.

Pourquoi la ligne

(setq ss (ssget "_X" filter))

ce change en

(setq ss (ssget "_A" filter))

dans la seconde version de ton lisp. Je ne vois pas de différence dans le comportement et la deuxième version n'est pas documentée.

Olivier

Posté(e)

Bonjour Olivier,

 

Petite question n'ayant pas vraiment rapport avec la question initiale.

Pourquoi la ligne

(setq ss (ssget "_X" filter))

ce change en

(setq ss (ssget "_A" filter))

dans la seconde version de ton lisp. Je ne vois pas de différence dans le comportement et la deuxième version n'est pas documentée.

Olivier

 

La deuxième version est documentée de façon implicite dans les options de sélection de la commande _select

 

 

Pour développer la réponse de Bryce:

 

L’option _X scanne la base de donné du dessin, comme si tu la parcourrais avec entnext pour effectuer la sélection, alors que l’option _A et l’équivalent de l’option de commande _ALL (TOUT), dans les options de sélection de la commande _select (et sélectionne tous les objets présents sur les calques libérés.)

 

Option de commande US:

Select objects: Use an object selection method

Expects a point or

Window/Last/Crossing/BOX/ALL/Fence/WPolygon/CPolygon/Group/Add/Remove/Multiple/Previous/Undo/AUto/SIngle/SUbobject/Object

Select objects: Specify a point or enter an option

 

Option de commande FR:

Attend un point ou

Fenêtre/Dernier/Capture/BOîte/TOUT/Trajet/SPolygone/CPolygone/Grouper/Ajouter/Supprimer/Multiple/Précédent/Annuler/AUto/uniQue/SOus-objet/Objet

Choix des objets : Spécifiez un point ou entrez une option.

 

 

Quant à l’usage du caractère "_" dans les options de sélection de la fonction ssget, il est visiblement devenu facultatif (utilisé par convention), car depuis les versions 2000 l’option de sélection fait toujours référence à l'option la version internationale(US), contrairement à la commande _select et aux versions antérieures d’AutoCAD.

 

 

Pour ce qui est des options non-documenté pour la fonction ssget, il y a cette réponse que m’avait donné (gile)

http://cadxp.com/index.php?/topic/32394-zoom-sur-objet-selectionne/page__view__findpost__p__174302

Et un lien en anglais de alanjt sur lequel il m’avait redirigé

http://www.cadtutor.net/forum/showthread.php?47932-how-can-i-use-the-filter-in-ssget&p=326428&viewfull=1#post326428

 

A+

Apprendre => Prendre => Rendre

  • 2 ans après...
Posté(e)

Bonjour,

 

La solution que tu utilises est la plus simple.

 

L'autre possibilité est de créer des fenêtres dans une présentation, chaque fenêtre n'affichant qu'une des extrémités.

C'est un peu acrobatique, mais le dessin reste en taille réelle dans l'espace Objet.

 

 

Bonjour Bryce, j'aime bien l'idée d'utiliser 2 fenêtres qui affichent les extrémités de mon espace objet mais je n'y arrive pas totalement. En fait j'y perds certaines informations comme la valeur de ma cote (puisqu'elle est au centre de mes deux fenêtres), tu peux m'aider??

Posté(e)

Slt,

plutôt que tes fenêtres s’arrêtent au centre de ta pièce, décale la pour voir ta cote

Ou alors décale le texte de ta cote pour qu'elle apparaisse dans une de tes 2 fenetres

Posté(e)

Bonjour,

 

Dans mon gabarit méca, j'ai préparé plusieurs présentations en A4, A3 Horizontal et vertical avec 2 fenêtres (voir 3 fenêtres si la partie centrale de la pièce est intéressante !)

 

Dans mes styles de COTE, j'ai un style que j'appelle LONG (pour les pièce longues) avec comme seul paramètre différent : Onglet AJUSTER, je coche PLACER LE TEXTE MANUELLEMENT...

 

L'utilisation est très simple... Tu accroches le 1er point, tu cliques dans la 2e fenêtre, tu accroches le 2e point, puis tu peux te placer dans la 1ère ou la 2e fenêtre pour positionner ton texte de cotation...

 

post-2403-0-00198400-1445943566_thumb.png

 

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 @)

Posté(e)

Bonjour,

 

Dans mon gabarit méca, j'ai préparé plusieurs présentations en A4, A3 Horizontal et vertical avec 2 fenêtres (voir 3 fenêtres si la partie centrale de la pièce est intéressante !)

 

Dans mes styles de COTE, j'ai un style que j'appelle LONG (pour les pièce longues) avec comme seul paramètre différent : Onglet AJUSTER, je coche PLACER LE TEXTE MANUELLEMENT...

 

L'utilisation est très simple... Tu accroches le 1er point, tu cliques dans la 2e fenêtre, tu accroches le 2e point, puis tu peux te placer dans la 1ère ou la 2e fenêtre pour positionner ton texte de cotation...

 

post-2403-0-00198400-1445943566_thumb.png

 

Christian

 

Wow!! Merci beaucoup pour l'expliquation, vraiment gentil et aussi très clair.

Posté(e)

Bonjour,

 

Dans mon gabarit méca, j'ai préparé plusieurs présentations en A4, A3 Horizontal et vertical avec 2 fenêtres (voir 3 fenêtres si la partie centrale de la pièce est intéressante !)

 

Dans mes styles de COTE, j'ai un style que j'appelle LONG (pour les pièce longues) avec comme seul paramètre différent : Onglet AJUSTER, je coche PLACER LE TEXTE MANUELLEMENT...

 

L'utilisation est très simple... Tu accroches le 1er point, tu cliques dans la 2e fenêtre, tu accroches le 2e point, puis tu peux te placer dans la 1ère ou la 2e fenêtre pour positionner ton texte de cotation...

 

post-2403-0-00198400-1445943566_thumb.png

 

Christian

 

 

Par contre la valeur mesurée se trouve amputée de l'espace entre les 2 fenêtres?? On doit corriger manuellement ou bien il y a une méthode pour automatiser la cotation?

Posté(e)

C'est une représentation symbolique pour montrer que la pièce n'est pas à l’échelle.

 

Tu peux aussi utiliser une cote raccourcie qui place un symbole zigzag sur ta cote

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é