Aller au contenu

landk

Membres
  • Compteur de contenus

    18
  • Inscription

  • Dernière visite

Tout ce qui a été posté par landk

  1. landk

    Annotatif: uniquement le texte

    Ouahhhhhhh génial! :) t'es un chef, c'est exactement ce que je cherchais! Je commençais à me dire que l'annotatif, ça allait pas être possible... Aussi c'est d'une connerie de le mettre à 1 par défaut...., tout comme psltscale d'ailleurs... enfin bon, une fois ces deux là calé sur 0, y'a plus de problème de changement d'échelle. . . . Note: la vie est un éternel recommencement: En fait je me souviens avoir déjà lu cet article mais je n'avais pas noté sur ma p'tite liste pourquoi msltscale pouvait être important à retenir.
  2. Bonjour! Malgré ses nombreux problèmes, malgré l'attention qui doit y être apporté,je pense qu'il me serait utile d'utiliser du texte annotatif. Seulement voilà... l'annotatif, c'est l'échelle du texte ET du type de ligne.... Je suis dans l'espace objet, je change l'echelle d'annotation, un p'tit regen et paf! mes isolants, mes traits cachés, mes styles de lignes persos partent en vrille.... J'avais déjà remarqué ce problème, si bien que j'avais fui le système annotatif... j'ai cherché un peu partout et n'ayant pas trouvé confirmation, je pose donc la question: Il y a t'il une variable permettant de ne faire varier que le texte à l'aide du système annotatif? :mellow:
  3. En fait les lisps, je trouve ça facile à charger, mais difficile à créer: cela nécessite d'être très rigoureux sur la syntaxe, le nom des commandes, et c'est ce qui me rebute. Mais je conviens que l'un comme l'autre ont leur avantages respectifs.
  4. Merci pour toutes vos réponses Comme le dit Christian, c'est tout le problème avec cette variable VISRETAIN La régénération des xrefs mériterait de pouvoir être paramétrée comme bon nous semble, Dans mon cas je travaille sur un batiment de 4 niveaux, implanté dans un site. Chaque niveau est complexe et j'ai préféré créer un fichier par niveau. Le site est également sur un fichier à part, et c'est lui qui est appelé en xref sur tous les niveaux, en jouant avec xdelim. Le site étant régulièrement modifié, cela me posait problème... Au final j'ai tout de même cédé et j'ai récupéré un lisp qui me parait très bien: http://www.lee-mac.com/resetxreflayers.html ResetXRefLayersV1-1.lsp © 2012 Lee Mac Dark Light VLIDE ;;-------------------=={ Reset XRef Layers }==----------------;; ;; ;; ;; Resets specific properties of all layers dependent on the ;; ;; selected External Reference(s) to those set in the source ;; ;; drawing file(s). ;; ;;------------------------------------------------------------;; ;; Author: Lee Mac, Copyright © 2011 - www.lee-mac.com ;; ;;------------------------------------------------------------;; ;; Version 1.0 - 19-11-2011 ;; ;; ;; ;; First Release. ;; ;;------------------------------------------------------------;; ;; Version 1.1 - 27-11-2011 ;; ;; ;; ;; Added code to search for XRef Source File in working ;; ;; directory & support directories if not found at XRef Path ;; ;;------------------------------------------------------------;; (defun c:RXL nil (c:ResetXRefLayers)) (defun c:ResetXRefLayers ( / *error* _Settings _GetDocumentObject acapp acdoc acdocs acver dbxdoc dcl def han inc lst props sel tile tiles xrf ) (defun *error* ( msg ) (if (< 0 han) (setq han (unload_dialog han))) (if (and dcl (setq dcl (findfile dcl))) (vl-file-delete dcl)) (if (and dbxdoc (not (vlax-object-released-p dbxdoc))) (vlax-release-object dbxdoc)) (if (not (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")) (princ (strcat "\nError: " msg)) ) (princ) ) (defun _Settings ( code / bit dcl han tmp ) (cond ( (not (and (setq dcl (vl-filename-mktemp nil nil ".dcl")) (setq tmp (open dcl "w")) (progn (foreach line '( "rxl : dialog { label = \"Settings\"; spacer;" " : boxed_column { label = \"Properties to Reset\"; width = 65.0; fixed_width = true; alignment = centered; spacer;" " : row { alignment = centered; spacer; " " : column {" " : toggle { key = \"colour\"; label = \"Colour\"; }" " : toggle { key = \"linetype\"; label = \"Linetype\"; }" " : toggle { key = \"lineweight\"; label = \"Lineweight\"; }" " }" " : column {" " : toggle { key = \"plot\"; label = \"Plot\"; }" " : toggle { key = \"plotstyle\"; label = \"Plot Style\"; }" " : toggle { key = \"frozenvp\"; label = \"Frozen in VP\"; }" " }" " : column {" " : toggle { key = \"on\"; label = \"On\"; }" " : toggle { key = \"locked\"; label = \"Locked\"; }" " : toggle { key = \"frozen\"; label = \"Frozen\"; }" " }" " : column {" " : toggle { key = \"description\"; label = \"Description\"; }" " spacer;" " : toggle { key = \"selectall\"; label = \"Select All\"; }" " }" " }" " spacer;" " }" " spacer; ok_cancel;" "}" ) (write-line line tmp) ) (setq tmp (close tmp)) (while (null (findfile dcl))) (< 0 (setq han (load_dialog dcl))) ) (new_dialog "rxl" han) ) ) (princ "\nError Loading Dialog.") ) ( t (setq bit 1 tmp code ) (if (= 1023 tmp) (set_tile "selectall" "1") ) (foreach tile (setq tiles '( "colour" "linetype" "lineweight" "plot" "plotstyle" "frozenvp" "on" "locked" "frozen" "description" ) ) (if (= bit (logand tmp bit)) (set_tile tile "1") (set_tile tile "0") ) (action_tile tile (strcat "(setq tmp (boole 6 tmp " (itoa bit) "))" "(set_tile \"selectall\" (if (= 1023 tmp) \"1\" \"0\")))" ) ) (setq bit (lsh bit 1)) ) (action_tile "selectall" (strcat "(foreach tile tiles (set_tile tile $value))" "(if (eq \"1\" $value)" " (setq tmp 1023)" " (setq tmp 0)" ")" ) ) (if (= 1 (start_dialog)) (setq code tmp)) ) ) (if (< 0 han) (setq han (unload_dialog han))) (if (and dcl (setq dcl (findfile dcl))) (vl-file-delete dcl)) code ) (defun _GetDocumentObject ( dbxdoc acdocs xref / path xpath ) (setq xpath (cdr (assoc 1 (entget (tblobjname "BLOCK" xref))))) (cond ( (null (or (setq path (findfile xpath)) (setq path (findfile (strcat (vl-filename-base xpath) ".dwg"))) ) ) (princ (strcat "\nSource Drawing for " xref " not Found.")) nil ) ( (cdr (assoc path acdocs)) ) ( (null (vl-catch-all-error-p (vl-catch-all-apply 'vla-open (list dbxdoc path)) ) ) dbxdoc ) ( (princ (strcat "\nUnable to Open " xref " Source Drawing.")) nil ) ) ) (if (null (setq props (getenv "LMac\\RXLProps"))) (setq props (+ 1 2 4 8 512)) (setq props (atoi props)) ) (while (setq def (tblnext "BLOCK" (null def))) (if (= 4 (logand 4 (cdr (assoc 70 def)))) (setq lst (cons "," (cons (cdr (assoc 2 def)) lst))) ) ) (cond ( (null lst) (princ "\nNo XRefs found in Drawing.") ) ( t (setq acapp (vlax-get-acad-object) acdoc (vla-get-activedocument acapp) dbxdoc (vla-GetInterfaceObject acapp (if (< (setq acver (atoi (getvar "ACADVER"))) 16) "ObjectDBX.AxDbDocument" (strcat "ObjectDBX.AxDbDocument." (itoa acver)) ) ) acdocs (vlax-for doc (vla-get-documents acapp) (setq acdocs (cons (cons (vla-get-fullname doc) doc) acdocs)) ) ) (while (progn (setvar 'ERRNO 0) (initget "Multiple All Settings") (setq sel (entsel "\nSelect XRef to Reset [Multiple/All/Settings] <Exit>: ")) (cond ( (= 7 (getvar 'ERRNO)) (princ "\nMissed, try again.") ) ( (null sel) nil ) ( (eq "Multiple" sel) (setvar 'NOMUTT 1) (princ "\nSelect XRefs to Reset <Exit>: ") (setq sel (vl-catch-all-apply 'ssget (list (list '(0 . "INSERT") (cons 2 (apply 'strcat (cdr lst)))) ) ) ) (setvar 'NOMUTT 0) (if (and sel (not (vl-catch-all-error-p sel))) (repeat (setq inc (sslength sel)) (LM:ResetXRefLayers (setq xrf (cdr (assoc 2 (entget (ssname sel (setq inc (1- inc))))))) (_GetDocumentObject dbxdoc acdocs xrf) acdoc props ) ) ) nil ) ( (eq "All" sel) (while (setq def (tblnext "BLOCK" (null def))) (if (= 4 (logand 4 (cdr (assoc 70 def)))) (LM:ResetXRefLayers (setq xrf (cdr (assoc 2 def))) (_GetDocumentObject dbxdoc acdocs xrf) acdoc props ) ) ) nil ) ( (eq "Settings" sel) (setq props (_Settings props)) ) ( (vl-consp sel) (if (eq "INSERT" (cdr (assoc 0 (setq sel (entget (car sel)))))) (if (= 4 (logand 4 (cdr (assoc 70 (tblsearch "BLOCK" (cdr (assoc 2 sel))))))) (LM:ResetXRefLayers (setq xrf (cdr (assoc 2 sel))) (_GetDocumentObject dbxdoc acdocs xrf) acdoc props ) (princ "\nSelected Block is not an XRef.") ) (princ "\nInvalid Object Selected.") ) ) ) ) ) (vla-regen acdoc acallviewports) (vlax-release-object dbxdoc) ) ) (setenv "LMac\\RXLProps" (itoa props)) (princ) ) ;;------------------------------------------------------------;; (defun LM:ResetXRefLayers ( xref xrdoc acdoc props / _GetLayerProperties ass bit data name pos value xdef ) (defun _GetLayerProperties ( doc props / bit lst data ) (vlax-for layer (vla-get-layers doc) (setq bit 1 lst nil ) (foreach prop '( color linetype lineweight plottable plotstylename viewportdefault layeron lock freeze description ) (if (and (vlax-property-available-p layer prop) (= bit (logand bit props)) ) (setq lst (cons (cons bit (vlax-get-property layer prop)) lst)) ) (setq bit (lsh bit 1)) ) (setq data (cons (cons (strcase (vla-get-name layer)) (reverse lst) ) data ) ) ) data ) (cond ( (null xrdoc) nil ) ( (vl-catch-all-error-p (setq xdef (vl-catch-all-apply 'vla-item (list (vla-get-blocks acdoc) xref)) ) ) (princ "\nXRef not present in Drawing.") nil ) ( (setq data (_GetLayerProperties xrdoc props)) (vla-reload xdef) (vla-startundomark acdoc) (vlax-for layer (vla-get-layers acdoc) (setq bit 1) (if (and (setq pos (vl-string-position 124 (setq name (strcase (vla-get-name layer))))) (eq (strcase xref) (substr name 1 pos)) (setq ass (cdr (assoc (substr name (+ 2 pos)) data))) ) (foreach prop '( color linetype lineweight plottable plotstylename viewportdefault layeron lock freeze description ) (if (and (vlax-property-available-p layer prop t) (= bit (logand bit props)) (setq value (cdr (assoc bit ass))) ) (if (and (= 2 bit) (not (eq "CONTINUOUS" (strcase value)))) (vl-catch-all-apply 'vlax-put-property (list layer prop (strcat xref "|" value))) (vl-catch-all-apply 'vlax-put-property (list layer prop value)) ) ) (setq bit (lsh bit 1)) ) ) ) (vla-endundomark acdoc) t ) ) ) ;;------------------------------------------------------------;; (vl-load-com) (princ) (princ "\n:: ResetXRefLayers.lsp | Version 1.1 | © Lee Mac 2011 www.lee-mac.com ::") (princ "\n:: Type \"ResetXRefLayers\" or \"RXL\" to Invoke ::") (princ) ;;------------------------------------------------------------;; ;; End of File ;; ;;------------------------------------------------------------;; vali vala encore merci à vous tous pour vos réponses! :)
  5. Bonjour! Je cherche une solution simple mais je ne trouve pas... Soit: -Un fichier A.dwg,comportant une 30aine de calques, répartis entre existant/démolition/projet -Des fichiers B,C,D,E.dwg applelant le plan A.dwg en xref -Les fichiers B,C,D,E comportant chacun 4 présentations, soit un total de 16 présentations. -Les 16 présentations nécessitant des gels de calques de A dans les fenêtres de présentation, par catégorie (en gros: existant/démolition/projet, les gels des calques variant selon les présentations). -Un plan A qui peut être amené à changer, notamment au niveau de la couleur des calques et des épaisseurs des lignes. -La gestion de l'affichage des calques dans les fenêtres de présentations qui doit être calée une fois pour toute. Je ne trouve pas de solution simple... Si je joue avec visretain, soit toute ma gestion de l'affichage des calques est foutue en l'air à chaque rechargement de A.dwg, soit les modifications de couleur et d'épaisseur ne sont pas prises en compte en les modifiant sur A.dwg Moi je veux juste que l'affichage des calques de mon xref reste après chaque rechargement (tout en récupérant toutes les modifications apportées au xref, notament couleurs et épaisseurs, gestion de l'affichage des calques non comprise) J'ai un peu cherché, mais sans trouver de solution... Quelqu'un connaitrait LA variable qui solutionnerait mon problème? :( (je ne l'ai pas non plus signalé, mais je ne souhaite pas utiliser le gestionnaire des états de calque, ni les filtres de propriétés, ni une lisp: trop compliqué pour tous les intervenants)
  6. Ah ouiiii, je n'avais jamais testé l'enregistreur de macros, (que je trouvais bien pratique sous photoshop mais c'est un autre sujet...) C'est pas mal du tout en effet, et beaucoup moins usine à gaz que le lisp en tout cas ;) Le raccourcis est de plus tout de suite géré, sans avoir à reinit ou à le charger. Et si autocad fait bien les choses, y'a de fortes chances pour que ces macros perso soient comprises avec l'exportation des paramètres. Je pense que je vais plutôt m'orienter dans cette direction, même si ces macros ne sont gérés que dans les versions récentes d'autocad. Merci pour votre aide!
  7. Hummmm c'est tout de même dommage que ça ne soit pas possible de se créer facilement de petites commandes sans passer par le lisp... Je n'utilise pour ainsi dire jamais de lisp: j'ai le sentiment que tout est possible avec, mais ça a un coté usine à gaz qui me rebutte un peu. Au final, je ne ressens pas vraiment le besoin de lancer des scripts à ralonge, mais plutôt de régler des invites de commandes à l'aide de macros pas trop compliquées.... et lancer des lisp pour 1 ligne de commande c'est un peu comme utiliser un stabilo boss pour dessiner finement un détail. :P Merci en tout cas pour cette confirmation, je ne pense pas utiliser les lisp (mais peut être plus tard qui sait?) je vais sans doute me résigner à utiliser des boutons pour mes chtites commandes persos.
  8. Bonjour J'essaie depuis quelque temps de personaliser mon autocad: interface, commandes personalisées, alias de commandes, options générales, gabarits... j'y passe pas mal de temps mais je pense qu'une fois réglé ça sera que du bonheur :) Je bute cependant sur un point: je n'arrive pas à définir un alias pour mes commandes personalisées, et après avoir cherché un peu je me demande si celà est finalement possible. Concrètement, j'ai créé par exemple une nouvelle commande pour coupure, qui au lieu de choisir par défaut uniquement le deuxième point, permet de sélectionner d'abord un premier point, puis un deuxième (^C^C_break;\1 pour les intéressés). Une fois cette commande crée, j'ouvre le fichier pgp, je crée un alias, réinit g, et là, y'a pas moyen, c'est toujours "commande inconnue" dans la fenêtre de commande. Il y a bien les raccourcis personalisables avec les touches controle, shift et alt, mais ces raccourcis impliquent une contorsion de la main dû au maintien d'une touche que je trouve assez désagréable, aussi je préfère utiliser des alias, beaucoup plus pratiques à mon goût. Quelqu'un aurait une solution à mon problème, ou pourrait me confirmer que ce n'est pas possible?
  9. Bonjour Je travaille en ce moment à me faciliter la vie sous autocad mais ce n'est pas de tout repos. Mon problème concerne les textes annotatifs. Il s'agit d'un problème de régénération de l'affichage ou de quelque chose d'approchant je pense, mais je n'arrive pas à trouver comment y remédier. Bizarement, l'affichage pose problème en lançant "mtext" mais pas vraiment avec"texte": Sous autocad map 2008, je lance la commande "mtext": Je choisis un style de texte annotatif (avec des textes de quelques mms de hauteur) Je tappe quelques lettres...je clique sur ok... et là... c'est tout petit...minuscule...en fait le texte ne semble pas avoir encore pris en compte la fonction mettant à l'échelle l'annotation. Puis je zoome, je double clique sur le texte, je reclique sur le style en mettant le même, et là... c'est bon, l'échelle est prise en compte. En gros, pour que la fonction de mise à l'échelle se déclenche, il faut que je sélectionne un style, puis que je le resélectionne à nouveau... pas très pratique. J'ai essayé de régénérer mais ça ne change rien. Ca fonctionne un peut mieux avec la commande texte puisqu'il suffit de modifier le style dans les propriétés, mais je préfère utiliser la commande mtext. Quelqu'un aurait une solution s'il vous plait?
  10. Bonjour J'ai un soucis, et malgré quelques recherches sur ce site qui d'habitude répond à toutes mes interrogations, je piétine, je ne trouve pas de sujet correspondant à mon problème: Je viens de réceptionner un plan, que j'ai appelé en xref dans un nouveau fichier. Le problème, c'est que les types de lignes ne sont pas à la bonne échelle, contrairement à l'xref, qui lui est à la bonne échelle. En gros, les traits ont la bonne longueur, mais je me retrouve au final avec des pointillés qui sont 10 fois plus écartés qu'il ne faut et..... Ahhh j'ai trouvé!!! Bon, je vais passer pour un cinglé mais je laisse tout de même ce post, au cas où quelqu'un aurait le même problème que moi: dans le gestionnaire des types de ligne (accessible depuis la barre d'outils "calques") il ne faut surtout pas modifier le facteur d'échelle global, c'est très dangereux pour les insertions d'xref et ça fait perdre du temps précieux! Pour éviter ça,laisser comme par défaut à: facteur d'échelle global: 1 echelle de l'objet courant: 1
  11. landk

    Coupe perspective

    J'avais déjà essayé mais je m'y suis pris mal, je ne savais pas qu'on pouvait configurer cette fonction de sorte a ne pas prendre en compte les lignes cachées. J'y suis finalement arrivé: 1Créer un objet de coupe et le caler; (_sectionplane) 2 Créer une caméra et la caler. (_camera) 3 Affichier la vue caméra. (_view) 3 Générer une coupe 3D à partir de l'objet de coupe. (clic droit sur l'objet de coupe, générer coupe 3d) 4 Aplanir la géomértie de la coupe 3D générée (_flatshot penser à décocher afficher lignes foncées) [Edité le 18/5/2008 par landk]
  12. landk

    Coupe perspective

    Bonsoir, je cherche à réaliser une coupe perspective et j'ai un peu de mal à trouver comment faire. :( Travaillant sous autocad 2008, j'ai crée un objet de coupe, placé une caméra, calé ma vue courante sur ma caméra et toutes les coupes que je génère sont orthogonales, pas en perspective. Quelqu'un saurait-il quel réglage effectuer pour obtenir une coupe avec les traits en arrière plan exprimant la même perspective que ma caméra?
  13. landk

    Coupe perspective

    edit: message déplacé [Edité le 18/5/2008 par landk]
  14. landk

    Purger liste des échelles

    J'ai trouvé juste après :) http://www.cadxp.com/sujetXForum-18553.htm?POSTNUKESID=8244728b51d3a1126796917913d321de
  15. Bonjour je crois avoir un gros problème concernant la liste des échelles. Suite à de multiples xrefs imbriquées sur des fichiers, je dois avoir plus de 3000 echelles d'annotations sur certains fichiers et je ne peux pas les supprimer dans: format>liste echelle:un message d'erreur s'affiche. J'ai essayé de copier ces fichiers et de les coller sur un nouveau gabarit mais toutes les echelles viennent avec la copie et celà prend un temps anormalement long pour n'importe quel objet copié collé. Les échelles n'étant pas purgeables à ma connaissance, quelqu'un saurait comment pourrais- je supprimer toutes les échelles inutiles?
  16. landk

    Mur incliné?????

    Mouaip mouaip... Ben je n'y arrive pas, après plusieurs tentatives... :mad2: la phase qui coince est la selection de la face inclinée du triangle: lorsque je m'apprête à placer un mur selon une face, je peux selectionner les trois verticales mais pas celle inclinée. Par contre, je peux placer un toit à partir de la face inclinée....
  17. landk

    Mur incliné?????

    Vais essayer :thumbup:
  18. landk

    Mur incliné?????

    Bonjour je poursuis ce post car je suis probablement face au même problème... J'ai essayé une rotation d'un mur dans les élévation et rien n'y fait, ça veut pas. Il est possible de réaliser un mur rideau vitré très simplement mais celà est il également possible pour les murs de soutien? :casstet:
×
×
  • 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é