-
Compteur de contenus
404 -
Inscription
-
Dernière visite
-
Jours gagnés
1
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par ASTERIXII
-
Bonjour, Pour les familles, dans un premier temps (pour un projet précis) mon conseil est qu’il faut évaluer de quoi tu auras besoin au strict minimum. Exemple, si tu a un projet de logement, en gaine tu n’auras que de la gaine circulaire (pour la VMC), et tu n’as pas besoin de clapet CF sur ton réseau. Donc en CVC il te faut juste une famille de bouche VMC, et des registres (déjà dans le pack FISA). Si tu dois créer une famille, le plus important est la déclaration dans « Catégorie et paramètres de famille » et le type de raccord (ex Alimentation hydraulique). Dans FISA, le second paramètre aura une influence sur l’affichage des objets dans ton plan ! Le risque c’est d’avoir des familles de plomberie qui s’affiche dans ta vue de chauffage.
-
Bonjour Gil, Ok j'avais pas bien compris. C'est encore une super nouvelle fonction Merci
-
Ok merci pour les réponses. J'ai bien "la fonction" Commande dans le lisp d'ou l'erreur.
-
Bonjour, J'ai une question sur la fonction transparente ' dans une commande. Cela faisait longtemps que je n’avais pas utilisé cette fonction dans une commande, et je viens de voir quelle ne fonctionne pas avec une commande lisp. Exemple : J’ai une nouvelle « fonction/commande » en lisp Dans Autocad je lance une commande pour déplacer un objet Sur la ligne de commande je tape ‘TOTO Et sa ne marche pas.
-
Acces aux Parametres bloc dynamique
ASTERIXII a répondu à un(e) sujet de ASTERIXII dans Pour aller plus loin en LISP
Salut, Bon j’ai regardé, la seul chose que je vois c'est mutualiser Une bonne réponse de ma part ? :) -
Acces aux Parametres bloc dynamique
ASTERIXII a répondu à un(e) sujet de ASTERIXII dans Pour aller plus loin en LISP
Désolé, je pensais que tu voulais reboucler sur l’ensemble des blocs. Du coup, je ne pouvais plus connaitre les blocs modifiés pour ma sélection. Bon, comme toujours ta solution fonctionne. Voila le code complet, (qui fonctionne avec mes blocs) -
Acces aux Parametres bloc dynamique
ASTERIXII a répondu à un(e) sujet de ASTERIXII dans Pour aller plus loin en LISP
Bonjour Patrick, J'utilise le code que tu a fais pour modifier les visibilités. Au moment ou je modifie un bloc, je pensais qu'il faudrait l'ajouter "a une liste" Ici dans ton code, au moment ou la condition est vrai sachant que bl = #<VLA-OBJECT IAcadBlockReference2 00000000320810c8> je pensais faire (vlax-vla-object->ename bl)) qui donne <Nom d'entité: 7ffff62b020> J'ajoute à chaque passage l'élément à ma liste J'ai bien une liste, mais sa ne marche pas avec (sssetfirst nil lst) (sssetfirst fonctionnement avec une sélection <*U21><Nom d'entité: 7ffff62b020>.....) ? Donc ma question, est de savoir si le début du raisonnement est bon, et ce qui est faux. Re: depuis un nom d'entité (ssname sel2 n)) est-il possible de retrouver le type d'entité, dans mon cas <INSERT *U39> ? -
Bonjour Cecile, Avec le PACK FISA, c'est soit une formation, soit beaucoup de temps à découvrir comment sa marche. Perso, je trouve la bibliothèque bien pauvre, mais sa tu vas t'en rendre compte rapidement. Bon le plus important dans REVIT c'est le gabarit. Avec FISA tu as déjà une base, mais il faut la travailler. Tu trouveras ci-joint mes notes de formation, et notamment des réglages sur le gabarit FISA. Il y a aussi un chapitre sur les familles Novembre 2015 : Mise à jour du "Manuel" * Etude d'un cas CVC * Dimensionnement d'un réseau Hydraulique * Information sur les IFC dans les familles 21 Novembre 2015 Version 3.3 * Cartouche Autocad pour REVIT * Création d'un diffuseur type VDW TROX * Utiliser les Phases dans REVIT
-
Bonjour Gile, Je reviens sur ton code, je suis sur autocad 2012 et il ne fonctionne pas chez moi. Il ne bascule pas dans l'autre plan, mais pas de zoom sur la zone. Une idée ?
-
Acces aux Parametres bloc dynamique
ASTERIXII a répondu à un(e) sujet de ASTERIXII dans Pour aller plus loin en LISP
Hmm, je parle trop vite Pas de ton code, mais de ma phrase : Je pensais qu'avec Autocad il était possible de faire une sélection multiple (avec sélection rapide ou express tools) ???. Je le fais avec sélection rapide, mais avec 2 ou 3 objets maxi. Et en lisp je pensais qu'avec un truc du genre Je pourrais sélectionner les blocs anonymes .... ben non Il n'est pas possible d'inclure un filtre pour les *U ? --> mais c'est pas une bonne idée, car j'aurais tous les autres blocs anonymes Une autre piste: Dans ton code je crée une liste des blocs modifié : lst2 et à la fin du traitement juste après l'effacement des blocs, j'active à l'écran la sélection contenu dans la liste Mais la encore sa marche pas. Il faut transformer ma liste ? (du type LST2 = (#<VLA-OBJECT IAcadBlockReference2 0000000040640bf8>.....) Travailler avec vlax-vla-object->ename -
Acces aux Parametres bloc dynamique
ASTERIXII a répondu à un(e) sujet de ASTERIXII dans Pour aller plus loin en LISP
Merci Patrick, C'est simplement génial ! Sa marche super bien, et semble beaucoup plus rapide que mon bidouillage. Cela me fera gagner du temps. Si cela intéresse qq'un... Le but de cette opération: Lors de grand projet en plomberie (gravitaire), pour un niveau N2 (par exemple), je place les blocs (qui représentent des attentes de plomberie, des chutes vers le niveau N1) Ensuite je copie l'ensemble des blocs sur le niveau N1. C'est la que le lisp intervient, il ne va conserver que les attentes du dessus qui traversent le niveau. Car une attente qui à une "flèche haut" ne doit pas se retrouver au N1 Il suffit alors de raccorder les attentes aux chutes. -
Acces aux Parametres bloc dynamique
ASTERIXII a répondu à un(e) sujet de ASTERIXII dans Pour aller plus loin en LISP
Je vais expliquer: Dans mon dessin j'ai un ensemble de bloc Des blocs du nom de Chute_EP , Chute_EU, Chute_EV avec 4 possibilités de visibilité. Cette Visibilité, c'est Flèche (son nom) elle peut être soit sur "Flèche bas" "Flèche haut" "2 Flèche" "sans Flèche" Il peut y avoir d'autre bloc qui n'on pas cette visibilité, mais je n'y touche pas Mon bloc Chute_EP peut aussi être sous la forme d'un bloc anonyme "*U" Je sélectionne tous les blocs. Si un bloc à une propriété sur "Flèche bas" (active) je la modifie en "Flèche haut" Si un bloc à une propriété sur "Flèche haut" (active) j'efface le bloc du dessin Si un bloc à une propriété sur "2 Flèche" ou "sans Flèche" je ne fais rien Je ne sais pas si j'utilise le bon vocabulaire pour le nom de la visibilité (Flèche) et propriété "Flèche bas" -
Acces aux Parametres bloc dynamique
ASTERIXII a répondu à un(e) sujet de ASTERIXII dans Pour aller plus loin en LISP
Bonjour Patrick, Merci pour ta réponse, un code beaucoup plus court, et simple, mais il modifie tout les blocs avec une version "Flèche haut" dans mon cas. Il semble qu'il ne fait que tester les blocs avec une visibilité "Flèche" et une propriété "Flèche bas", et change en "Flèche haut" Tous les blocs ont une propriété "Flèche bas", mais pas forcement active. Ne faudrait t'il pas la tester ? Ajustement par rapport au bloc: -
Acces aux Parametres bloc dynamique
ASTERIXII a répondu à un(e) sujet de ASTERIXII dans Pour aller plus loin en LISP
Sa marche mais.... Le code n'est pas de moi (Gile), je sais, c'est pas bien. mais le vla et moi sa fait 3 PJ: plan dwg avec petite explication Sur plus de 300 blocs je trouve le temps long. C'est normal, je teste chaque bloc et chaque propriétés. D'où ma question, pourquoi toujours faire une boucle sur les propriétés ? Si je pars du principe que je connais les blocs à traiter, pourquoi ne "attaquer" directement la propriété ? Analyse: DYNPROP et PROP Ensuite je voudrais supprimer du dessin certains bloc. J'ai essayé avec (VLA-DELETE blk1), mais la méthode n'est pas bonne. problème de mise à jour de la sélection ? -
Acces aux Parametres bloc dynamique
ASTERIXII a répondu à un(e) sujet de ASTERIXII dans Pour aller plus loin en LISP
Bonjour Gil, Bon s'il faut passer par le Vla .... Mais tu me donne une bonne source Je vais pouvoir utiliser ma selection sur une boucle. J'ai vu de bon code (de toi), comme SSD qui fait l'operation pour un bloc. Je vais potasser... Merci -
Bonjour, Encore une question sur les blocs dynamique. J'ai un jeu de sélection (y compris les blocs anonyme) et pour chaque bloc dans le jeu de sélection , je veux tester la valeur d'un paramètre et du paramètre visibilité. Ensuite je le modifier. Je voudrais trouver "les paires pointées" en DXF, mais je ne trouve pas. Je voudrais éviter le code VL que je ne métrise pas.
-
Interception événement création d’un calque
ASTERIXII a répondu à un(e) sujet de ASTERIXII dans Pour aller plus loin en LISP
Le programme tiers est "malheuresement" un fichier fas. Mais j'ai trouvé un moyen, car il y a une fonction debug J'utilise donc une partie de ton code: je remplace la boite d'alerte par 2 variables, une pour le calque et une pour le statut. Ensuite je fais un traitement dans la zone de debug Merci encore à toi pour ton aide, toujours aussi efficace ! -
Interception événement création d’un calque
ASTERIXII a répondu à un(e) sujet de ASTERIXII dans Pour aller plus loin en LISP
Bon, avec le programme tiers, plus de message d'erreur, mais la couleur ne passe pas à 30 Pourtant j'ai bien les 2 message, un pour le calque ajouté, et l'autre que c'est par la commande LAYER et que la couleur est modifiée. Avec mon lisp de création de calque, sa marche bien, la couleur est bien modifiée. Et si le programme tiers faisait la manip en plusieurs fois ? 1 création du calque ---> détection 2 modification de nouveau calque (ex la couleur)---> pas de détection Pourtant dans ton premier lisp il le faisait. Je cherche encore -
Interception événement création d’un calque
ASTERIXII a répondu à un(e) sujet de ASTERIXII dans Pour aller plus loin en LISP
Bonjour Gil Merci pour ta réponse un Dimanche !! Bon ton code fonctionne, mais j'ai 2 problèmes Le premier : à la création d'un calque, j'ai bien l'affichage des 2 boites d'alerte, mais pas le changement de couleur du calque. Pour qu'il change la couleur, je dois le charger dans l'Editeur lisp, et charger le lisp. Mais ensuite, si il change la couleur en 30, il y a un message sur la ligne Autocad: Invalid Autocad command: nil Ensuite, si je fais un nouveau calque, la case d'alerte comme quoi le calque à été ajouté s'affiche 2 fois, et de nouveau le message d'erreur. De plus le message d'erreur va s'affiché sur la ligne (à la suite) autant de fois qu'il y à eu de nouveau calque Une idée ? -
Interception événement création d’un calque
ASTERIXII a posté un sujet dans Pour aller plus loin en LISP
Bonjour, Je voudrais savoir si il est possible en lisp d’intercepter une action de création de calque. Par exemple, un programme tiers va créer un nouveau calque, et juste âpres je voudrais « prendre la main » pour intervenir sur le dernier calque qui à été créé, et ensuite le laisser continuer. Sachant que je ne pas modifier le programme tiers. -
Probleme de fermeture fichier avec GetExcel
ASTERIXII a répondu à un(e) sujet de ASTERIXII dans Débuter en LISP
Merci pour ta réponse, mais qq'un à t-il une idée sur GetExcel ? -
Bonjour, J'ai un petit problème avec GetExcel. Il semble que je n'arrive pas à fermer le fichier ou que Excel reste ouvert. J'ai le message suivant : Fermeture de toutes les feuilles. Precision: Je n'arrivais pas à lire la valeur d'une cellule avec GetCell, c'est pour cette raison que j'utilise vlax-get-property *ExcelApp% Autre question: C'est quoi la fonction (gc) ?. il semble que c'est pour liberer les resources. d'où vient-elle ? Code de GetExcel d'où provient le message: (defun OpenExcel (ExcelFile$ SheetName$ Visible / Sheet$ Sheets@ Worksheet) (if (= (type ExcelFile$) 'STR) (if (findfile ExcelFile$) (setq *ExcelFile$ ExcelFile$) (progn (alert (strcat "FichierExcel " ExcelFile$ " non trouvé.")) (exit) ) ) (setq *ExcelFile$ "") ) (gc) (if (setq *ExcelApp% (vlax-get-object "Excel.Application")) (progn (alert "Fermeture de toutes les feuilles.") (vlax-release-object *ExcelApp%) (gc) ) ) Voila une partie de mon code: ; ouvre fichier Excel (OpenExcel "C:\\CADD_EUR\\Bib-cvpb2\\_Lisp\\Liste bloc.xls" LotBloc nil) (ListeTitre) (creationLB) ); fin defun essai Lecture des valeurs (setq ExcelRange^ (vlax-get-property *ExcelApp% "Range" (strcat "A" (itoa LigneEx)))) (setq ExcelVariant^ (vlax-get-property ExcelRange^ 'Value)) (setq ExcelValue (vlax-variant-value ExcelVariant^)) Fermeture du fichier (CloseExcel nil) Nouvelle ouverture du fichier (setq ChoixTitre "CONDUITES") ; dependra de la zone de liste (setq LotBloc "CHAUFFAGE") ; lecture du fichier (OpenExcel "C:\\CADD_EUR\\Bib-cvpb2\\_Lisp\\Liste bloc.xls" LotBloc nil) Lecture des valeurs (setq ExcelRange^ (vlax-get-property *ExcelApp% "Range" (strcat "A" (itoa LigneEx)))) (setq ExcelVariant^ (vlax-get-property ExcelRange^ 'Value)) (setq ExcelValue (vlax-variant-value ExcelVariant^)) Fermeture (CloseExcel nil) Personne ?
-
ok Merci encore pour cette réponse
-
Merci de ta réponse, Mais c'est sa que je voudrais éviter : Une autre approche, comment faire pour modifier une defintion de ligne existante dans un plan ? Exemple: j'ai une ligne (dans mon plan) VIDE,20,-1.3,[AEP,S=1.3,R=0.0,X=-0.65,Y=-0.65],-3 --> voir le code dxf renommer VIDE par un autre nom modifier le texte AEP par un autre texte de 3 lettres
-
Bonjour, Je reviens sur le sujet, car je ne parviens pas avoir un resultat. Est-il possible d'avoir un exemple ?
