LUDWIG
Membres-
Compteur de contenus
1 396 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par LUDWIG
-
En plaçant tes différents plans dans un autre fichier en tant qu'Xref. Modifier des xrefs directement dans le dessin hôte est possible et les répercussion des modifications se feront dans les 2 fichiers. Cependant, ce n'est pas un méthode de travaille que je conseille (Modifier des xrefs revient un peu à modifier des blocs).
-
Ah oui, un intérêt de mon bloc dynamique de gaine, c'est en cas de changement de débit, donc de diamètre, tu n'as pas à tout effacer, pour recoller les blocs du bon diamètre : tu sélectionnes les blocs, tu changes le diamètre de l'ensemble dans les propriétés et hop le tour est joué. Enfin, quelques ajustement de longueur quand même, c'est pas autocad MEP (même si ce serait chouette de s'en approcher. Prochaine étape, que les blocs s'insèrent à la suite des autres avec les même diamètres et mêmes angle).
-
J'ai des blocs dynamiques depuis que ça existe oui plein de paramètres d'étirement. j'utilise soit la fenêtre de propriété soit les poignées. pas du tout de plantage mais je me demande si ça ne m'est pas déjà arrivé à une époque. Désolé je ne me rappelle plus. Mets à jour ton SP d'autocad, peut être ? Je suppose que tu as déjà du chercher une solution sur le forum. mon gabarit sur lequel j'ai toute ma bibliothèque fait 7Mo. Mes fichiers font rarement cette taille (je supprime la bibliothèque une fois le plan réalisé). Plutôt 2 ou 3 Mo. Sauf quand c'est du réseau de gaine comme dans l'exemple donné plus haut.
-
Oui, tu as raison, j'ai 1 bloc pour tout. Je n'utilise qu'une représentation par type d'objet, les différents diamètres étant de la mise à l'échelle (sinon, c'est sûr que la se serait, encore plus, usine à gaz). La "non proportionnalité" des éléments ne me gênent pas (pour le moment). Je ne sais pas si les différences sont significatives. Pourquoi penses-tu que certains éléments non pas leur place ? Il faudrait que je fasse une petite vidéo pour montrer comment je fonctionne (mais là n'est pas le sujet). Aurais-tu une ou deux captures d'écran de tes palettes pour voir comment tu t'organises ? Je me suis souvent dit qu'il faudrait que je me mette aux palettes mais je n'ai jamais eu le courage de l'organiser. Ma bibliothèque est dans mon gabarit (je sais c'est pas top). Je travaille dans le secteur de la cuisine pro / froid industriel / CVC (mais le CVC ne représente pas encore une grosse partie de l'activité).
-
Le problème, c'est que j'aime les usines à gaz. Tout ça pour simplifier le dessin (après coup) ! C'est confortable de n'utiliser qu'un bloc. Pour moi, je pense qu'il faut au moins le diamètre en dynamique, quitte ensuite à avoir 1 bloc par organe. Ta bibliothèque doit être ENORME !! Par contre, inconvénient de ma méthode, les dwg sont lourds (5Mo pour un réseau de traitement d'air reprise + soufflage 2 niveaux de 160m² environ) [Edité le 16/11/2010 par LUDWIG]
-
Arg, c'est plus qu'un coude. Gaine / coude 90 / coude à 45 / montée / descente / coupure / piquage plat / piquage oblique / réduction / registre / bouchon. Je veux y ajouter encore des visibilités (grilles terminales) et corriger pas mal de chose. Quand à te l'envoyer... Faut voir. Je n'y ai pas encore réfléchi (c'est quand même pas mal d'heures passé dessus).
-
Bonjour, Je manipule beaucoup les blocs dynamiques, avec moult état de visibilité, des actions et des paramètres dans tous les sens. Bref, quand je veux modifier un bloc dynamique, c'est un peu la jungle dans l'éditeur de bloc. Si je veux copier un objet, il faut ensuite que je le ré-associe à toutes les actions déjà existantes. C'est long, fastidieux et les erreurs difficilement repérables. Y aurait-il un moyen de copier les associations actions-objet d'un objet à un autre ? http://img413.imageshack.us/img413/5981/sanstitredq.png
-
Bonjour, Un léger soucis sur des côtes : Mon style de côte a une couleur de remplissage du texte définie à "ARRIERE PLAN" (un peu comme les masques d'arrière plan sur les textes). Sur quelque côte de mon dessin, je souhaite ne pas avoir ce masque. Je vais dans les propriétés de la côte, et je force la couleur de remplissage à "AUCUNE" : Le masque d'arrière plan est toujours là . C'est d'autant plus bizarre que si je force à une autre couleur, là, ça fonctionne. Bref, je suis obligé de créer un nouveau style. Si quelqu'un peu tester et confirmer que ce n'est pas moi qui fait erreur.
-
Merci du lien, je vais essayer.
-
Bonjour, Juste une simple question : est-il possible d'ouvrir l'éditeur Visual Lip sans avoir autocad ouvert ? Et ainsi affecter ce programme par défaut aux fichiers lsp. Merci d'avance.
-
Il est plutôt clairsemé le gazon chez toi Rebcao !
-
Oui, c'est possible. Ci après un lisp de normalisation de bloc. Il est commenté, en l'étudiant, ça te donnera déjà une idée. ;********************************************************************************************************************************************************** ;NORMALISER BLOCS ;********************************************************************************************************************************************************** ;Place les entités constituant chaque blocs sur le calque 0 en couleur DuBloc (defun c:nb (/ i n tot) (setq echoold (getvar "cmdecho")) (setvar "cmdecho" 0) ;(command "-calque" "a" "e" "Normalise" "" "" "") (COMMAND "-calque" "L" "*" "AC" "*" "D" "*" "") (COMMAND "-calque" "E" "0" "") ;Normalisation des blocs dans la table des blocs (if (/= nil (setq i (tblnext "block" t)))(progn ; RECHERCHE LA PREMIERE ENTREE DANS LA TABLE DES BLOCS (setq tot 1) (while i (setq n (cdr (assoc -2 i))) ; SELECTIONNE LA PREMIERE ENTITE QUI COMPOSE LE BLOC (while n (setq n (entget n)) ; RECUPERE LES VALEURS DES ENTITES QUI COMPOSE LE BLOC (if (/= (cdr (assoc 8 n)) "0") (progn (setq n (subst (cons 8 "0") (assoc 8 n) n)) ;SI L'ENTITE N'EST PAS SUR 0, LA DEPLACE SUR 0 (entmod n) ) ;_ Fin de progn ) ;_ Fin de if (if (not (assoc 62 n)) ;SI L'ENTITE N'A PAS LE CODE DXF 62 (=DuCalque), LE CREE ET LUI AFFECTE LA VALEUR 0 (=DuBloc) (setq n (append n (list (cons 62 0))))) (if (/= (cdr (assoc 62 n)) 0) ;SI L'ENTITE N'EST PAS DE COULEUR 0, LA CHANGE EN 0 (=DuBloc) (setq n (subst (cons 62 0) (assoc 62 n) n)) ) ;_ Fin de if (entmod n) (setq n (entnext (cdr (assoc -1 n)))) ;ENTITE SUIVANTE ) ;_ Fin de while (setq i (tblnext "block") tot (1+ tot) ) ;BLOC SUIVANT ) ;_ Fin de while ;Normalisation des étiquettes d'attributs de blocs dans le dessin (car une étiquette peut avoir des valeurs de calque, couleur, etc. différentes de l'attribut) (setq sel (ssget "x" (list (cons 0 "INSERT")))) (setq j 0) (setq nat 0) (while (ssname sel j) (setq n (entget (ssname sel j))) (if (assoc 66 n) (progn (setq i (entget (entnext (cdr (assoc -1 n))))) (while (/= (cdr (assoc 0 i)) "SEQEND") (setq i (subst (cons 8 "0") (assoc 8 i) i)) ; mettre l'attribut sur le calque 0 (if (not (assoc 62 i))(setq i (append i (list (cons 62 0))))) (if (/= (cdr (assoc 62 i)) 0)(setq i (subst (cons 62 0) (assoc 62 i) i))) ; mettre l'attribut en couleur dubloc (entmod i) ; modifier l'entité (entupd (cdr (assoc -1 i))) ; mettre à jour sur l'écran l'entité (setq nat (+ 1 nat)) (setq i (entget (entnext (cdr (assoc -1 i))))) ) ;_ Fin de while ) ;_ Fin de progn ) ;_ Fin de if (setq j (1+ j)) ) ;_ Fin de while ;Résultat ;----------------------------------------------- (princ (strcat "\nTraitement de " (itoa (+ tot nat)) " bloc(s) (" (itoa tot) " dans la table des blocs et " (itoa nat) " étiquette(s) d'attribut(s) de bloc(s) dans le dessin)" ) ;_ Fin de strcat ) ;_ Fin de princ ;(command "-calque" "a" "s" "Normalise" "" "") (command "regen") (setvar "cmdecho" echoold) (graphscr) (princ) ) ) );_ Fin de defun (prompt "\nnb : Normaliser les blocs du dessin (calque 0 - Couleur Dubloc)" ) ;_ Fin de prompt
-
Merci pour ce cours. Je croyais que (< (car l1) (car l2)) était une comparaison qui renvoyait T ou nil, alors que c'est une action. Pour la fonction "anonyme", je comprends mieux, c'est juste pour éviter de faire appel à une autre fonction defun. Par contre, là ça m'inquiète... J'avais vérifier, en créant 2 blocs identiques, donc même extraction de données, donc 2 fois le même élément (liste également) dans la liste principal. ( ("0" " "doublage" 80.0 2700.0 1150.0) ("0" " "doublage" 80.0 2700.0 1150.0) ) Dans quel cas est-ce que je risquerais de perdre des données?
-
Sélection selon paramètre de bloc dynamique
LUDWIG a répondu à un(e) sujet de LUDWIG dans AutoCAD 2011
Je savais bien bien que j'avais vu un sujet résolu qui correspondait à mon cas, mais je n'ai pas su le retrouver. Super (gile), C'est impec ! Et avec boîte de dialogue qui s'adapte aux différents paramètres ! En plus, ça marche nickel ! J'ai juste remarqué qu'un "paramètre utilisateur" HAUTEUR (dans le gestionnaire des paramètres, à partir de la 2010 ou 2011 je crois) était listé dans la boîte de dialogue de SSD, mais que la sélection ne fonctionnait pas dessus. De toute façon, je ne vais pas m'en servir. Merci encore. -
Bonjour, Avez-vous sous le coude un moyen de sélectionner un bloc dynamique en fonction de la valeur d'un paramètre ? Style : sélectionner tous les blocs dont la visibilité actuelle est "PLEIN" sélectionner tous les blocs dont le paramètre hauteur est 2700 Éventuellement même : sélectionner tous les blocs dont la largeur est supérieure à 100 Merci d'avance de vos réponses.
-
Bon, j'ai quasi fini mon programme. Mes données textes étaient bien de type str. J'ai pu regrouper en reprenant un code de Tramber là : http://www.cadxp.com/modules.php?op=modload&name=XForum&file=viewthread&tid=13160#pid51865 Que j'ai modifié comme ça : ;REORGANISATION DE LA LISTE PAR calque+visibilite+epaisseur+hauteur - source tramber (setq lsttri nil prem (car lst) lst (cdr lst) ) (while lst; boucle sur la totalité -1 (if (and (=(car prem)(car(car lst))) (=(cadr prem)(cadr(car lst))) (=(caddr prem)(caddr(car lst))) (=(cadddr prem)(cadddr(car lst))) ) (setq prem(append prem (list(cadddr(cdr (car lst)))))) (setq lsttri(append lsttri(list prem))prem(car lst))) (setq lst(cdr lst)) ) (setq lsttri(append lsttri(list prem))) J'ai utilisé le tri de Patrick 35, mais sans vraiment comprendre la logique du code (lambda ?) Merci, sujet résolu !
-
C'est peut être une string, je fais (setq calque (vlax-get-property (setq obj (vlax-ename->vla-object entite)) "layer")) pour le récupérer. En effet mes calques ont des espaces
-
Merci Patrick Est-ce que vl-sort ne risque pas de me supprimer des doublons ? Est-il possible de regrouper le dernier élément (longueur) des listes ? ( calque[b]1[/b] visibilité[b]1[/b] épaisseur[b]1[/b] hauteur[b]1[/b] (longueur1 longueur2 longueur3) calque[b]1[/b] visibilité[b]1[/b] épaisseur[b]1[/b] hauteur[b]2[/b] (longueur4 longueur5 longueur6) calque[b]1[/b] visibilité[b]1[/b] épaisseur[b]2[/b] hauteur[b]1[/b] (longueur7 longueur8 longueur9) calque[b]1[/b] visibilité[b]1[/b] épaisseur[b]2[/b] hauteur[b]2[/b] (longueur10 longueur11 longueur12) )
-
Ci joint liste pour tester ((CALQUE1 doublage 80.0 2700.0 975.96) (CALQUE1 doublage 80.0 2700.0 570.46) (CALQUE1 doublage 40.0 2700.0 5113.21) (CALQUE1 doublage 40.0 2700.0 600.693) (CALQUE1 doublage 40.0 2700.0 446.038) (CALQUE1 doublage 40.0 2700.0 445.902) (CALQUE1 doublage 40.0 2700.0 493.957) (CALQUE1 doublage 40.0 2700.0 634.6) (CALQUE1 doublage 40.0 2700.0 944.076) (CALQUE1 doublage 40.0 2700.0 943.948) (CALQUE1 doublage 40.0 2700.0 599.956) (CALQUE1 doublage 40.0 2700.0 599.956) (CALQUE1 cloison 80.0 2700.0 420.0) (CALQUE1 cloison 80.0 2700.0 420.0) (CALQUE1 cloison 80.0 2700.0 2660.0) (CALQUE1 cloison 80.0 2700.0 9656.33) (CALQUE1 cloison 80.0 2700.0 2642.2) (CALQUE1 cloison 80.0 2700.0 2642.2) (CALQUE1 cloison 80.0 2700.0 2142.2) (CALQUE1 doublage 60.0 2700.0 5250.0) (CALQUE1 cloison 60.0 2700.0 1509.59) (CALQUE1 doublage 40.0 2700.0 164.537) (CALQUE1 doublage 40.0 2700.0 889.955) (CALQUE1 cloison 80.0 2700.0 1852.25) (CALQUE1 cloison 80.0 2700.0 1921.08) (CALQUE1 doublage 40.0 2700.0 481.005) (CALQUE1 doublage 40.0 2700.0 651.055) (CALQUE1 doublage 40.0 2700.0 610.967) (CALQUE1 doublage 40.0 2700.0 611.053) (CALQUE1 doublage 60.0 2700.0 5189.7) (CALQUE1 doublage 40.0 2700.0 600.008) (CALQUE1 doublage 40.0 2700.0 136.781) (CALQUE1 doublage 40.0 2700.0 136.781) (CALQUE1 doublage 40.0 2700.0 184.765) (CALQUE1 doublage 40.0 2700.0 184.762) (CALQUE1 doublage 40.0 2700.0 680.024) (CALQUE1 cloison 80.0 2700.0 900.0) (CALQUE1 cloison 80.0 2700.0 6131.25) (CALQUE1 cloison 80.0 2700.0 1879.43) (CALQUE1 cloison 80.0 2700.0 4814.58) (CALQUE1 cloison 80.0 2700.0 6352.58) (CALQUE1 doublage 60.0 2700.0 12246.0) (CALQUE1 doublage 80.0 2700.0 6272.86) (CALQUE1 doublage 80.0 2700.0 605.915) (CALQUE1 doublage 80.0 2700.0 350.806) (CALQUE1 cloison 80.0 2700.0 3874.75) (CALQUE1 cloison 80.0 2700.0 1879.43) (CALQUE1 cloison 80.0 2700.0 1900.41) (CALQUE1 cloison 80.0 2700.0 8340.0) (CALQUE1 cloison 80.0 2700.0 9292.43) (CALQUE1 cloison 80.0 2700.0 4815.13) (CALQUE1 doublage 80.0 2700.0 3188.84) (CALQUE1 doublage 40.0 2700.0 2568.89) (CALQUE1 doublage 40.0 2700.0 5113.21) (CALQUE1 doublage 40.0 2700.0 7299.57) (CALQUE1 doublage 40.0 2700.0 5250.0) (CALQUE1 doublage 40.0 2700.0 7063.48) (CALQUE1 doublage 40.0 2700.0 2584.91) (CALQUE1 doublage 40.0 2700.0 2584.9) (CALQUE1 doublage 40.0 2700.0 6246.99) (CALQUE1 doublage 40.0 2700.0 9636.33) (CALQUE1 doublage 40.0 2700.0 1424.12) (CALQUE1 doublage 40.0 2700.0 1056.71) (CALQUE1 doublage 40.0 2700.0 2682.2) (CALQUE1 cloison 80.0 2700.0 1900.41) (CALQUE1 cloison 120.0 2700.0 2277.88) (CALQUE1 cloison 120.0 2700.0 1939.3) (CALQUE1 cloison 120.0 2700.0 2397.88) (CALQUE1 cloison 120.0 2700.0 2058.88))
-
Bon, je crois que je ne vais pas y arriver, alors je réclame un peu d'aide : http://www.cadxp.com/sujetXForum-30285.htm
-
Bonjour, Je pensais y arriver tout seul (http://www.cadxp.com/modules.php?op=modload&name=XForum&file=viewthread&tid=30126#pid130778), mais ce n'est pas le cas. J'ai bien regardé ce sujet qui est similaire : http://www.cadxp.com/sujetXForum-13160.htm, en vain. Je récupère des informations sur des références de blocs dynamiques, et ma liste est constituée ainsi : ( (calque visibilité épaisseur hauteur longueur) (calque visibilité épaisseur hauteur longueur) (calque visibilité épaisseur hauteur longueur) ) Calque et visibilité : texte Epaisseur Hauteur Longueur : numérique et je voudrais pouvoir les classer par calque+visibilité+épaisseur+hauteur : ( calque[b]1[/b] visibilité[b]1[/b] épaisseur[b]1[/b] hauteur[b]1[/b] (longueur longueur longueur) calque[b]1[/b] visibilité[b]1[/b] épaisseur[b]1[/b] hauteur[b]2[/b] (longueur longueur longueur) calque[b]1[/b] visibilité[b]1[/b] épaisseur[b]2[/b] hauteur[b]1[/b] (longueur longueur longueur) calque[b]1[/b] visibilité[b]1[/b] épaisseur[b]2[/b] hauteur[b]2[/b] (longueur longueur longueur) ) etc Tout ceci afin de pouvoir faire une somme de longueur par calque+visibilité+épaisseur+hauteur. Merci d'avance pour votre aide.
-
Tu l'as dis lili
-
ça marche ! Mais j'aurais pu également faire en sorte de pouvoir déplacer mon texte avec une ligne pointant toujours le mur. L'avantage avec la côte, c'est que ça se déplace automatiquement suivant la taille du mur ! http://img829.imageshack.us/img829/4509/sanstitrese.png
-
Ahhhhhhhhhh Je suis déçu !! Bon, je m'oriente alors vers une alternative un peu vicieuse. Plutôt que de ne pas afficher mon information de HAUTEUR sur les murs trop petits, je vais essayer de la déporter. Pour cela, je vais utiliser une côte, et dans le remplacement de texte, je vais insérer une valeur de champs.
-
J'ai quand même essayer (pour le fun) autre chose sans succès : - depuis l'insertion d'un attribut et l'utilisation d'un champs pour la valeur par défaut, copie de l' l'expression de champs qui s'affiche. Collage de cet expression dans un texte - insérer un attribut avec valeur par défaut basé sur le champs. Créer un texte avec champs qui reprend la valeur du précédent attribut (ça devient lourd !!). Le texte affiche l'étiquette et non pas la valeur du champs.
