-
Compteur de contenus
2 523 -
Inscription
-
Dernière visite
-
Jours gagnés
23
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Fraid
-
Merci, Encore perdu mon temps à chercher, alors que c'etait sous mon nez
-
Bonjour, Un rectangle, transformé en bloc, un Paramètre Polaire placé sur ces deux sommets bas, Une action d’étirement polaire appliqué sur ce paramètre qui étire les deux sommet droit du rectangle. Rien d’exceptionnel. Bloc dynamique de base. Par contre je voudrais qu'il y est une contrainte dimensionnelle : que le rectangle soit mini 84 et maxi 432 de long. J'ai bien trouvé des contraintes imposant des longueurs mais je n'ais pas trouvé pour une taille mini et maxi? Cela existe t'il ou faut il passer par un réacteur associé a l'objet?
-
Commande en cours vers argument
Fraid a répondu à un(e) sujet de Fraid dans Pour aller plus loin en LISP
J'ai trouvé CMDNAMES et CMDACTIVE désolé du dérangement.... -
Bonjour, Afin d’alléger certaine de mes fonctions de leur (cond (( interminable, je voudrai passer la commande en cours en Argument. Il me semble avoir déjà vu cela sur le forum, mais je n'arrive plus a trouver le post... :unsure:
-
Insertion d'un bloc à partir d'un fichier source DWG
Fraid a répondu à un(e) sujet de Bortch59 dans Débuter en LISP
Un petit lisp qui te rendra service ;btowb=>bloc to wbloc ;--------------------------- ;récuperer les blocs internes d'un fichier pour les passer en blocs externes (wbloc) ;-------------------------- (defun c:btowb () ; pour definier les noms longs à changer suivant la version d'autocad et de windows ;si nom_long = t alors nom long ok ;si nom_long = nil alors pas de nom long (setq nom_long t) ;on liste tous les blocs internes contenus dans le fichier (setq lst_bloc nil) (setq bloc (tblnext "BLOCK" t)) (while (/= bloc nil) (if (/= (substr (cdr (assoc 2 bloc)) 1 1) "*") (if (/= (wcmatch (cdr (assoc 2 bloc)) "*|*") t) (setq lst_bloc (append lst_bloc (list (cdr (assoc 2 bloc))))) ) ) (setq bloc (tblnext "BLOCK")) ) (setq nb_bloc (length lst_bloc)) (prompt (strcat "\n" (itoa nb_bloc) " blocs trouves")) ;on défini si la création est totale ou si on passe les noms un par un (setq compte 0) (setq option nil) (initget "p t") (setq option (getkword "\ncréation pas à pas ou tout: ")) (if (= option "t") (progn (repeat nb_bloc (creation_bloc) (setq compte (1+ compte)))) (progn (repeat nb_bloc (setq choix nil) (initget "O N") (setq choix (getkword (strcat "\nbloc " (itoa (1+ compte)) " = " (nth compte lst_bloc) " > O/N : ") ) ) (if (= choix "O") (creation_bloc) ) (setq compte (1+ compte)) ) ) ) (princ) ) ;--------------- ;sous programme creation de bloc ;-------------- (defun creation_bloc () (setq existe nil) ;on verifie que le bloc n'existe pas sinon on pose la question de le remplacer (setq existe (findfile (strcat (nth compte lst_bloc) ".dwg"))) (if (= existe nil) (if (= nom_long t) (vl-cmdf "wbloc" (nth compte lst_bloc) (nth compte lst_bloc)) (vl-cmdf "wbloc" (substr (nth compte lst_bloc) 1 8) (nth compte lst_bloc)) ) (progn (initget "O N") (setq efface (getkword (strcat "\nle bloc " (nth compte lst_bloc) " éxiste déja, désirez vous le remplacer O/N:" ) ) ) (if (= efface "O") (if (= nom_long t) (vl-cmdf "wbloc" (nth compte lst_bloc) "o" (nth compte lst_bloc)) (vl-cmdf "wbloc" (substr (nth compte lst_bloc) 1 8) "o" (nth compte lst_bloc)) ) ) ) ) ;(princ) ) Merci à l'Auteur si il se reconnais :D -
Insertion d'un bloc à partir d'un fichier source DWG
Fraid a répondu à un(e) sujet de Bortch59 dans Débuter en LISP
Bonjour, En effet, la solution d'enregistrer tout les blocs dans un dossier me semble le plus pratique à condition de déclarer dans les options le dossier dans les Chemin de recherche de fichiers support. Du coup tu peux oublier les chemins, (defun c:l2t nil (command "_.-LAYER" "e" "31_moburba" "") (command "_-insert" "chrl2t" pause "" "" pause) (command "_.-layer" "e" "0" "") (princ) ) ici m’insère le bloc chrl2t -
Bonjour, :huh: Comme quoi on peut toujours en apprendre. Merci -Olivier-
-
Merci à vous pour vos explications. Je n’étais pas à la recherche de performance, mais du coup, j'en ai appris bien plus que je ne l'escomptais. Encore une petite question. Quelle est la différence entre la Propertie Name et EffectiveName?
-
Merci, mais si on met BlockReference cela ne marche pas...que doit on mettre alors? sinon j'avais bien pensé au ssget, mais étant en train d'apprendre le Vlisp, j'essayais de m'en passer...
-
Bonjour, Je cherche à faire une fonction qui me donne la position d'un bloc (il n'y en a qu'un dans le dessin) du genre(PosBloc "Nom du Bloc") qui me retournerai les coordonnées sous forme d'une liste '(0.0 0.0 0.0) Je sais le faire en Autolisp, mais en VLisp c'est pas évident :blink: J'ai donc essayé (defun PosBloc (NomBloc / pos) (setq BLOCS (vla-get-Blocks (vla-get-ActiveDocument (vlax-get-acad-object)))) (vlax-for Blk BLOCS (if (= NomBloc (vla-get-name Blk)) (setq pos (gc:3dVariantToPointList (vla-get-Coordinates Blk ))) ) ) pos ) ;; gc:3dVariantToPointList (gile) ;; Convertit un variant de coordonnées 3D en liste de points ;; Polyline dans le SCO (Z = 0) ;; 3DFace, 3DPolyline, Leader, MLine, PolyfaceMesh, ;; PolygonMesh, Solid, Trace dans le SCG ;; ;; Argument ;; var : un variant (array de doubles) tel que retourné par vla-get-Coordinates (defun gc:3dVariantToPointList (var / foo) (defun foo (lst) (if lst (cons (list (car lst) (cadr lst) (caddr lst)) (foo (cdddr lst))) ) ) (foo (vlax-safearray->list (vlax-variant-value var))) ) j'ai essayé avec (vlax-get blk 'insertionpoint), ce n'est pas mieux Surement un truc que j'ai loupé... Merci
-
Plus de notifications de réponse
Fraid a répondu à un(e) sujet de bryce dans CADxp, comment ça marche?
Bonjour, Je viens de le réativer pour voir, mais j'avais déjà essayé, cela marchais de façon aléatoire...des fois ça arrive, des fois non... :( -
Bonjour, Il y a certaines circonstances qui te permettent d'utiliser une poignée, notamment quand elle est placée sur l'axe de symétrie. Tu sélectionne ton objet, tu clic sur la poignée, puis 4 fois barre espace...
-
moi non plus, :mellow:
-
Bonjour, ou au clavier REPERE et 2 fois Entrée
-
Supprimer un message de commande
Fraid a répondu à un(e) sujet de krunch dans Pour aller plus loin en LISP
Bonjour, peut etre en ajoutant (princ) a la fin de ta boucle. Mais pourquoi boucler si un simple regen suffit pour mettre a jour les champs? -
Bonjour, Je reste fumeur, mais pas de clope.. ça fait pétard aussi :P
-
Bonjour, Comme Curcis, je calcul sans arrière-plan il ne se cale jamais bien et plein de soucis pour rien c'est tellement plus facile d’insérer son rendu sur une image dans Photoshop. Bon courage
-
je n'ai pas de 2012 sous la main, mais je ne vois pas pourquoi cela bloquerai.. Cela fonctionne trés bien sur une 2011 tu est sur de charger correctement ton lisp?
-
essaye en modifiant le nom de ta commande, du genre c:list-ech car la fonction a le meme nom
-
Bonjour, Quel est ton message d'erreur?
-
Autocad aussi utilise aussi les catalogues. Et cela fonctionne très bien de copier/coller le dossier Palette d'un poste a l'autre. Sauf les groupes qui disparaissent... L'exportation en xpg demande une importation a l'utilisateur cible. C'est pas vraiment pratique surtout quand il y beaucoup de groupe et plusieurs utilisateur . C'est pourquoi j'ai choisi la voie de l'atc. il doit y avoir un fichier qui m'a echappé
-
Bonjour, Voici une petite fonction qui devrai te montrer le chemin (defun ReadAttrib ( NmBloc etiquette / selbloc loop i l entDef namme rid) (setq selbloc (ssget "_X" (list (cons 2 NmBloc)))) (if selbloc (progn (setq i 0 l (sslength selbloc)) (while (< i l) (setq namme (ssname selbloc i) loop T) ;; Boucle sur les attributs (while loop (setq namme (entnext namme) entDef (entget namme) ) (if (and (= (cdr (assoc 0 entDef)) "ATTRIB") (= (cdr (assoc 2 entDef)) etiquette) ) ;; On a trouvé l'attribut d'étiquette ETIQUETTE1 (setq rid (cdr (assoc 1 entDef)) loop nil ) ) (if (= (cdr (assoc 0 entDef)) "SEQEND") (setq loop nil) ) ; Fin de séquence, on termine la boucle ) ;; Passe à l'insertion de bloc suivante (setq i (1+ i)) ) rid ) ) ) je ne sais plus si je l'ai ecrit ou récuperer sur ce site :huh: et un exemple (setq Eti (ReadAttrib "NomDuBloc" "Etiquette"))
-
Bonjour, Je rebondi sur la réponse de FormaBois Quand on copie l'ensemble des fichiers contenu dans .../support/palette sur un autre poste, les groupes ne suivent pas, cela ne semble pas etre enregistrer dans les .atc ????? Quelqu'un sait il ou cela se trouve ?
-
Tout est ok, sauf la carte graphique, demande une Nvidia fait une recherche sur le site et tu verra que les retours sont édifiant. Nous soupçonnons même une coalition entre Autodesk et Nvidia...
-
Bonjour, Effectivement, si tu installe les pilotes de la souris, c'est le borde.. J'ai la même et elle marche très bien sans installer le setpoint. !!!! ps sous win xp 64b
