-
Compteur de contenus
12 247 -
Inscription
-
Dernière visite
-
Jours gagnés
209
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par (gile)
-
Oupss !... (setq blo (ssname selection_pt_traitement i)) ;; mon bloc sélectionné (setpropertyvalue blo "TN" "toto") (setpropertyvalue blo "Fe" "titi") Pas de guillemets autour de "blo", ce n'est pas une chaîne, blo est une variable (plus exactement un symbole).
-
Écriture en ligne de commande d'un "retour" d'un lisp
(gile) a répondu à un(e) sujet de DenisHen dans Débuter en LISP
À didier et rebcao, Le (princ) à la fin de la fin de TestSousRoutine serait la dernière expression évaluée, donc la valeur renvoyée par TestSousRoutine, un symbole vide dans ce cas, et TestRoutine aurait généré une erreur à l'évaluation de : (rtos (TestSousRoutine 20) 2 2)qui serait équivalent à: (rtos (princ) 2 2) Si on comprends bien, ce que cherche à faire DenisHen c'est récupérer le résultat de l'évaluation de (+ var 20). Pour enlever toute confusion, sa routine aurait dû s'écrire simplement : (defun TestSousRoutine (Var /) (+ Var 20) ) -
Salut, Depuis AutoCAD 2012, la fonction LISP setpropertyvalue permet d'attribuer directement la valeur d'une référence d'attribut en considérant l'étiquette de l'attribut comme une propriété du bloc. (setq blo (ssname selection_pt_traitement i)) ;; mon bloc sélectionné (setpropertyvalue "TN" "toto") (setpropertyvalue "Fe" "titi")
-
Écriture en ligne de commande d'un "retour" d'un lisp
(gile) a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Salut, Si tu montres un exemple qui fonctionne comme tu le souhaites mais que n'en montre aucun qui ne fonctionne pas, ça va être très difficile de t'aider... -
Salut, Le format renvoyé par CDATE n'est pas pratique pour calculer un nombre de jours parce qu'il faut éventuellement prendre en compte le mois, l'année. Il vaut mieux utiliser la variable système DATE qui renvoie la date courante au format julienne, la partie entière représentant le nombre de jours.
-
Regarde la variable PLINECONVERTMODE...
-
Depuis plusieurs version déjà (2013 ?), l'option Polyligne de la commande native EDITSPLINE (accessible par le menu contextuel quand une spline est sélectionnée) permet de convertir une spline en polyligne et rend donc ce LISP obsolète.
-
BricsCAD ? C'est curieux de voir comment le principal concurrent d'AutoCAD au pays d'Autodesk est le plus souvent oublié/ignoré en France.
-
[<= 2013] Rendre les calques verrouillés non sélectionnables (3, le retour)
(gile) a répondu à un(e) sujet de (gile) dans ObjectARX/DBX, C++, .NET, RealDWG
Oui. -
[<= 2013] Rendre les calques verrouillés non sélectionnables (3, le retour)
(gile) a répondu à un(e) sujet de (gile) dans ObjectARX/DBX, C++, .NET, RealDWG
Normalement, on désinstalle proprement une version, avant d'en installer une autre. S'il y a un problème à la désinstallation, on peut essayer une réparation avant de relancer la désinstallation. J'ai mis à jour le lien pour le téléchargement (version 2.1.0). -
[<= 2013] Rendre les calques verrouillés non sélectionnables (3, le retour)
(gile) a répondu à un(e) sujet de (gile) dans ObjectARX/DBX, C++, .NET, RealDWG
Salut, Essaye de juste "Réparer" LayLockSelection depuis le panneau de configuration, ça devrait créer la variable système pour AutoCAD 2020. -
Il y a une méthode ObjectARX / .NET qui s'appelle HandOverTo qui permet ça. Elle est, par exemple, utilisée par la commande COUPURE (_BREAK). Si on coupe une ligne, la première partie est en fait la ligne raccourcie et conserve donc ses Handle et ObjectId (ENAME) et la seconde partie est un nouvel objet, mais quand on coupe un cercle, on se retrouve avec des arcs. HandOverTo permet alors de réaffecter les identifiants du cercle au premier arc. Comme je le disais plus haut, j'utilise aussi cette méthode (ZombieKiller, BatchPurge) pour supprimer certains objets proxy récalcitrants qui ne se laissent pas effacer par la méthode classique Erase en substituant un nouveau dictionnaire vide à l'objet proxy (dans ce cas, on n'ajoutera pas le dictionnaire à la base de données).
-
Lisp INCATT de (Gile) et bloc dynamique
(gile) a répondu à un(e) sujet de Demixav dans LISP et Visual LISP
La DLL ne doit pas être compatible avec A2011. Tu peux désinstaller Increment via le panneau de configuration. Tu peux télécharger increment_18.zip qui contient une version compatible A2011. Tu débloques le zip (clic droit > Propriétés > onglet Général > Débloquer). Tu extraits la DLL dans un dossier des chemins de recherche d'AutoCAD. Tu essayes de la charger "manuellement" avec NETLOAD. Tu lances la commande GILE_INCR Si tout fonctionne comme ça devrait, tu peux envisager le chargement automatique, soit avec un fichier acad.lsp dans lequel tu colles l'expression suivante : (command "_netload" "Increment_18.dll") soit via la base de registre en créant une clé comme celle de l'image que j'ai jointe au zip en remplaçant le chemin par simplement : Increment_18.dll, puisque le fichier est dans les chemins de recherche. -
Il m'avait semblé avoir été clair, mais manifestement, je n'ai pas été compris. Le handle d'un objet est simplement un identifiant unique attribué par AutoCAD au moment où cet objet est ajouté à la base de données du dessin. On ne peut pas changer le handle affecté à un objet par AutoCAD. On ne peut pas choisir le handle d'un objet qu'on ajoute à la base de données. Ce qu'on peut faire, dans certaines conditions seulement, c'est affecter le handle d'un objet existant à un nouvel objet avant qu'il soit ajouté à la base de données, ce qui a pour effet de supprimer l'objet pré-existant. Mais en général, c'est utilisé pour supprimer certains objets personnalisés (proxy) qu'on ne peut effacer autrement. PS : une des choses qui font la qualité de ce site c'est (c'était) le fait que chacun essayait d'écrire un français correct, en évitant, tant que possible, les fautes d'orthographes. Je le redis ici, personnellement, à partir d'un certain nombre de fautes, je n'arrive plus à lire le message et j'abandonne.
-
Lisp INCATT de (Gile) et bloc dynamique
(gile) a répondu à un(e) sujet de Demixav dans LISP et Visual LISP
Pour enregistrer la DLL et qu'elle se charge automatiquement au premier appel de la commande GILE_INCR, tu charges ce LISP : ;;; NetDemandAutoLoad ;;; Inscrit une application .NET dans la base de registre pour ;;; un chargement automatique au lancement d'une commande ;;; ;;; Arguments ;;; key : la clé de l'application (string) ;;; descr : une description (string) ;;; filename : le chemin complet de la dll (string) ;;; commands : la liste des noms de commande (list) ;;; groups : la liste des noms de groupes de commande ou nil (defun NetDemandAutoLoad (key descr filename commands groups / regpath) (vl-load-com) (if (setq fullname (findfile filename)) (progn (mapcar '(lambda (k v) (vl-registry-write (setq regpath (strcat "HKEY_CURRENT_USER\\" (vlax-product-key) "\\Applications\\" key ) ) k v ) ) '("DESCRIPTION" "LOADCTRLS" "LOADER" "MANAGED") (list descr 12 filename 1) ) (foreach n commands (vl-registry-write (strcat regpath "\\Commands") n n) ) (foreach n groups (vl-registry-write (strcat regpath "\\Groups") n n) ) ) (princ (strcat "\nLe fichier \"" filename "\" est introuvable")) ) ) Puis tu lances cette expression : (NetDemandAutoLoad "Increment" "Boite de dialogue Increment" (strcat (getenv "appdata") "\\Autodesk\\ApplicationPlugins\\Gile_Increment.bundle\\Contents\\Gile_Increment_18.dll") '("GILE_INCR") '("GILE_GROUP") ) -
Lisp INCATT de (Gile) et bloc dynamique
(gile) a répondu à un(e) sujet de Demixav dans LISP et Visual LISP
Désolé, le mécanisme de chargement automatique Autoloader ne fonctionne qu'à partir d'AutoCAD 2012. Mais tout n'est pas perdu, tu peux charger la DLL Gile_Increment_18.dll (Gile_Increment_19.dll est pour A2013 et plus) qui se trouve dans le dossier : C:\Users\\AppData\Roaming\Autodesk\ApplicationPlugins\Gile_Increment.bundle\Contents avec la commande NETLOAD. Si tu veux automatiser le chargement, tu peux voir ce sujet (Utilisation du fichier acad.lsp et Utilisation de la base de registre) -
Lisp INCATT de (Gile) et bloc dynamique
(gile) a répondu à un(e) sujet de Demixav dans LISP et Visual LISP
Tu devrais plutôt utiliser le plugin Increment (la version compatible A2020 devrait être publiée incessamment). -
Salut, Je crains que le manque de clarté dans l'exposé de la demande ne provienne, en partie du moins, d'une certaine incompréhension de ce que sont les blocs AutoCAD et les Handles. Le terme "bloc" prête quelque peu à confusion car il recouvre deux concepts. La définition de bloc qui est un objet non graphique stocké dans la table des blocs. Une définition de bloc a un nom unique dans la table des blocs du dessin (ce nom sert de clé pour le retrouver), c'est une collection d'entités graphiques. Les références de bloc sont des entités graphiques insérées dans l'espace objet, l'espace papier (ou dans une définition de bloc). Une référence de bloc insérée dans le dessin n'est qu'une représentation de la définition du bloc qui a pu subir des transformations géométriques (déplacement, rotations, mises à l'échelle) mais qui contient affiche toujours les mêmes entités : celles contenu dans la définition du bloc. De même, le "nom" d'une référence de bloc n'est en fait que le reflet de celui de sa définition. En résumé, on ne peut modifier ni le nom, ni les entités d'une référence de bloc, par contre, modifier le nom ou les entités d'une définition de bloc affectera toutes les références insérées. Les choses sont différentes pour les "attributs" de bloc. Là encore, on va retrouver des définitions d'attributs contenues dans la définition de bloc. Il s'agit d'entité textuelles qui servent de modèle (gabarit) pour la créations des références d'attribut. Les références d'attributs sont ajoutées aux références de bloc lors de leur insertion. Elles sont liées à la référence de bloc, mais contrairement aux autres entités graphiques simplement représentées dans la référence de bloc, elles ont leur existence propre, ce qui permet de les modifier (valeur du texte et position si pas verrouillée). En résumé, on peut modifier des références d'attributs indépendamment dans différentes références de bloc. Modifier, ajouter ou supprimer une définition d'attribut dans une définition de bloc n'affectera pas les références déjà insérées à moins de faire une synchronisation d'attributs (ATTSYNC). Les Handles (ou mainitens) sont des identifiants uniques dans la base données du dessin. Ils sont attribués par AutoCAD à tous les objets graphiques (arc, ligne, référence de bloc, ...) on non graphique (calque, table des blocs, définition de bloc, ...) lors de leur création. Ils sont donc immuables* et pérennes (chaque objet conserve le même Handle pendant toute l'existence du dessin). En résumé, on ne peut pas modifier le Handle d'un objet existant dans un dessin. On peut le stocker dans un fichier externe afin de retrouver l'objet lors d'une prochaine ouverture de ce dessin (s'il n'a pas été effacé). * Certains environnements de programmations comme .NET ou ObjectARX permettent toutefois de substituer un nouvel objet à celui auquel était affecté le handle celui-ci étant supprimé de la base données.
-
Vous m'étonnez, j'ai bien l'option Chemin, en mode Solide dans AutoCAD 2019. Une petite vidéo décrivant tout le processus.
-
Ce qu'on appelle généralement "bloc" recouvre en fait deux choses liées mais distinctes. La définition de bloc. Il s'agit d'un objet non graphique, en fait une collection d'entités, c'est ce qu'on voit dans l'éditeur de bloc (l'espace objet et les espaces papiers sont aussi des définition de bloc). Les définitions de bloc sont stockées dans la "table des blocs", une collection propre à chaque dessin, tout comme la table des calques ets la collection propre au dessin qui contient les calques. La référence de bloc. Il s'agit d'une entité graphique insérée dans une définition de bloc (généralement un espace). Une référence de bloc ne contient pas d'entité, c'est juste une représentation géométrique de la définition de bloc. Une référence externe est une forme de référence de bloc avec comme principale différence que sa définition est un dessin qui peut être modifié depuis l'extérieur.
-
Quelle version d'AutoCAD ?
-
Salut, Première chose, tu ne peux pas supprimer des entités uniquement dans certaines références de bloc parce que les références de bloc ne contiennent pas d'entités. Ce ne sont que de références à la définition du bloc qui elle contient les entités. Pour supprimer des entités dans une définition de bloc, la méthode la plus simple, à mon avis, est d'ouvrir le bloc dans l'éditeur de blocs (MODIFBLOC ou _BEDIT) et d'effacer simplement les entités, puis fermer l'éditeur en enregistrant les modification. Ceci affectera toutes les références insérées.
-
Je lance LISSAGE, je choisis les deux coupes (polylignes rouges), je valide, je choisis l'option Chemin puis l'arc.
-
Le fichier modifié
-
Il faut d'abord tout rapprocher de l'origine, puis refaire l'arc avec les accrochages, ensuite le lissage fonctionne.
