-
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)
-
Salut, Si je ne suis pas un "pionnier" de CADxp (inscrit seulement en 2005), je pense avoir fait parti depuis lors du "noyau dur" notamment à cause de ma participation aux forums LISP. J'ai énormément appris en essayant de répondre aux différentes demandes (si je suis autodidacte en programmation, j'ai quand même suivi une formation AutoCAD de 3 semaines en 2002 -des prémices au rendu 3D photo-réaliste). À l'époque, CADxp était beaucoup plus actif qu'aujourd'hui (jusqu'au risque d'explosion vers 2007/2008). Les dysfonctionnements du site à cette période et depuis sa vente par Patrick ajoutés à une certaine lassitude chez quelques "piliers", ainsi que les créations de nouveaux sites par certains des membres (ex-materia, AcadLabs, AcadNetwork, Augi.fr, ...), ont poussé certains à aller voir ailleurs (s'ils ne le faisaient pas déjà). Après la vente de CADxp, le repreneur a sollicité des bonnes âmes pour faire les modérateurs se réservant la gestion administrative, financière et technique, donc le "staff" a seulement accès à quelques fonctionnalités pour déplacer/modifier/supprimer des messages/sujets mais aucun pouvoir sur le site en général. Concernant le site "officiel" Autodesk, à l'époque où CADxp carburait à fond, il était plus ou moins délaissé par Autodesk et fonctionnait fort mal (dysfonctionnements technique et (d'où ?) peu de fréquentation). Au début des années 2010 Autodesk s'est mis à s'intéresser de plus près aux forums de discussion et n'a cessé de tenter d'améliorer le fonctionnement de ses sites et leur animation avec programme Autodesk Expert Elite depuis 2012 et la nomination d'un modérateur (Patrick). Le fait que, techniquement, CADxp fonctionne moins bien et que les groupes de discussions Autodesk soient devenus utilisables peut expliquer (en partie) la baisse de fréquentation d'un côté et l'augmentation de l'autre. Pour fréquenter les deux, ainsi que d'autres forums Autodesk anglophones (LISP, .NET) et d'autres sites anglophones comme TheSwamp, je pense pouvoir dire que la qualité des intervenants y est équivalente et que nombre des "masters" de TheSwamp sont aussi sur les forums Autodesk dédiés à la programmation (CF cette page et les suivantes). Si les groupes de discussion francophones sont moins nombreux que les rubriques de CADxp, c'est probablement que la "demande" (nombre de sujets) est encore relativement faible.
-
Puisqu'on parle d'orthographe, soit il y a une faute dans le titre du sujet, soit j'ai le cerval qui fuit...
-
Pour le balayage tu n'es pas obligé d'orienter ton profil perpendiculairement à l'axe (contrairement à une extrusion).
-
Salut, Tu peux modifier le système de coordonnées de manière à ce que l'axe Z soit parallèle à une ligne (ou un segment droit de polyligne) : commande SCU (_UCS), option axEZ (_ZAxis). Mais dans ton cas, il me semble que le plus simple serait d'utiliser la commnande BALAYAGE (_SWEEP).
-
Salut, Ce "quadrillage" correspond aux divisions de maillage par approximation. Il ne s'affiche qu'en filaire. Tu peux paramétrer le nombre des divisions à 1 dans la boite de dialogue de la commande OPTIONSPRIMITIVEMAILLE (_MESHPRIMITIVEOPTIONS) ou avec les variables système DIVMESHBOXLENGTH, DIVMESHBOXWIDTH et DIVMESHBOXHEIGTH avant de créer un maillage "boite".
-
Salut, À ma connaissance, rien de nouveau. Par contre, tu peux simplifier ta méthode en annulant la commande : (command "_.box")(command)
-
Salut, Cette méthode est valable dans ce cas parce qu'il n'y a eu aucune modification dans la code. Mais il est toujours plus sûr, à chaque nouvelle version d'AutoCAD, de désinstaller proprement un plugin et de télécharger et d'installer la nouvelle version du plugin dont la compatibilité a été testée et approuvée par Autodesk.
-
As-tu bien, comme indiqué dans la réponse #3, désinstallé l'ancienne version avant d'installer la nouvelle ? Dans tous les cas, comme il n'y a pas eu de modifications dans la nouvelle version, tu peux simplement remplacer SeriesMax="R21.0" par SeriesMax="R22.0" dans le fichier XML (et, accessoirement, 2017 par 2018)
-
Tu n'as pas la dernière version compatible 2018 (relis attentivement mes réponses). Dans ton fichier PackageContents.xml : Dans le fichier de la dernière version :
-
Si tu ouvres le fichier : %appdata%\Autodesk\ApplicationPlugins\RadicalPurge.bundle\PackageContents.xml dans un éditeur de texte (bloc-note), vois-tu bien ce noeud (à la fin) : <Components Description="2013 to 2018 parts"> <RuntimeRequirements SupportPath="./Contents" OS="Win32|Win64" Platform="AutoCAD*" SeriesMin="R19.0" SeriesMax="R22.0" /> <ComponentEntry AppName="RadicalPurge" Version="1.2.1" ModuleName="./Contents/RadicalPurge_19.dll" ModuleNameFra="./Contents/RadicalPurge_19.dll" AppDescription="A tool to deeply purge drawings." LoadOnAppearance="True" LoadOnAutoCADStartup="True"> <Commands GroupName="GILE_GROUP"> <Command Local="RPURGE" LocalFra="RPURGE" Global="RPURGE" /> </Commands> </ComponentEntry> <ComponentEntry AppName="RadicalPurge" Version="1.2.1" ModuleName="./Contents/RadicalPurge.cuix" ModuleNameFra="./Contents/RadicalPurge.cuix" AppDescription="A tool to deeply purge drawings." LoadOnAutoCADStartup="True" /> </Components>
-
+1 avec lecrabe. J'ajouterais qu'il est plus sûr de désinstaller proprement RadicalPurge via le panneau de configuration avant d'installer la nouvelle version. Rappel : Autodesk n'autorise la compatibilité des plugins qu'après les avoir testé sur chaque nouvelle version.
-
Salut, Un truc qui correspond à ton LISP : ;;;************************************************************** ;;; Déplacement des entités à l'altitude 0 et les élévations à 0 ;;;************************************************************** (defun c:Z0 (/ substZ0 ss i ent elst) (princ "\nDéveloppé par Denis H. (vers.1.0)") (princ "\nDéplacement des blocs à l'altitude 0 et modifie les élévation à 0.") (defun substZ0 (key alst / entry) (if (setq entry (assoc key alst)) (subst (reverse (cons 0.0 (cdr (reverse entry)))) entry alst) alst ) ) (if (setq ss (ssget "_X")) (progn (setq i 0) (while (setq ent (ssname ss i)) (setq i (1+ i) elst (entget ent) ) ;_ Fin de setq (cond ((= (cdr (assoc 0 elst)) "LWPOLYLINE") (entmod (subst (cons 38 0.0) (assoc 38 elst) elst))) ((= (cdr (assoc 0 elst)) "LINE") (entmod (substZ0 10 (substZ0 11 elst)))) (T (substZ0 10 elst)) ) ;_ Fin de cond ) ;_ Fin de while ) ;_ Fin de progn ) ;_ Fin de if (princ) ) Mais comme le dit x_all, le processus n'est pas si simple et le LISP ci dessus ne fonctionnera que si les objets 2d (polyligne, cercle, texte, bloc, etc.) ont été dessinés dans un plan parallèle au plan XY. Tu peux essayer d'utiliser la commande FLATTEN des express tools qui projette les objets sur le plan de a vue (se mettre en vue de dessus avant de lancer la commande). Macro (non testée) ^C^C_-view;top;flatten;_all;;no; En LISP, on ne peut pas utiliser la fonction command parce que FLATTEN est une "commande" définie en LISP (defun c:flatten ...), il faut donc utiliser SendCommand pour appeler le lISP et lui passer les arguments (defun c:Z0 () (vl-load-com) (command "_.view" "_top") (vla-sendcommand (vla-get-ActiveDocument (vlax-get-acad-object)) "flatten _all no ") (princ) )
-
Dernier point utilisateur pour inserer un bloc
(gile) a répondu à un(e) sujet de Topheur dans AutoCAD 2014
Salut, Le point que tu veux est enregistré dans la variable pfin_cot, il te suffit de l'utiliser directement pour insérer le bloc : (command "_.insert" "le_nom_du_bloc" pfin_cot 1.0 1.0 0.0) -
Il suffit de la déclarer comme variable locale. (defun c:toto (/ topo) ... )
-
Salut, Quand tu entres : !autoload en ligne de commande, tu devrais avoir en retour quelque chose comme : #. Si ce n'est pas cas, essaye une réparation voire une ré-installation.
-
Toutes les entités couleurs Ducalque sauf les hachures
(gile) a répondu à un(e) sujet de zara dans LISP et Visual LISP
Bien voilà le crabe. Tu vois quand tu veux... ;) -
Salut, Petite précision : la routine ne fonctionne (sur AutoCAD) qu'avec des régions uniquement composées de lignes et arcs (ou polylignes) puisque les polylignes ne peuvent être composées que d'arcs et de segments droits. En ce qui concerne son fonctionnement sur ZWCAD je peux pas en dire plus, (les versions d'évaluation que j'avais installé pour faire des tests ont expiré), mais il me semble bien que la plupart des fonctions Visual LISP (COM/ActiveX) étaient supportées. Peut-être voir directement avec le support ZWCAD qui avait affiché une volonté de résoudre rapidement les problèmes de compatibilité des routines LISP.
-
Tu n'as pas remplacé juste l'expression (progn ...), tu as remplacé toute la fin de la routine... La programmation ne supporte pas l'approximation. (defun c:norm (/ *error* adoc lst_layer func_restore-layers) (defun *error* (msg) (func_restore-layers) (vla-endundomark adoc) (princ msg) (princ) ) ;_ end of defun (defun func_restore-layers () (foreach item lst_layer (vla-put-lock (car item) (cdr (assoc "lock" (cdr item)))) (vl-catch-all-apply '(lambda () (vla-put-freeze (car item) (cdr (assoc "freeze" (cdr item)))) ) ;_ end of lambda ) ;_ end of vl-catch-all-apply ) ;_ end of foreach ) ;_ end of defun (vl-load-com) (vla-startundomark (setq adoc (vla-get-activedocument (vlax-get-acad-object))) ) ;_ end of vla-startundomark (vlax-for item (vla-get-layers adoc) (setq lst_layer (cons (list item (cons "lock" (vla-get-lock item)) (cons "freeze" (vla-get-freeze item)) ) ;_ end of list lst_layer ) ;_ end of cons ) ;_ end of setq (vla-put-lock item :vlax-false) (vl-catch-all-apply '(lambda () (vla-put-freeze item :vlax-false))) ) ;_ end of vlax-for (vlax-for blk (vla-get-blocks adoc) (if (and (equal (vla-get-islayout blk) :vlax-false) (equal (vla-get-isxref blk) :vlax-false) ) ;_ end of and (progn (vlax-for subent blk (if (/= (vla-get-ObjectName subent) "AcDbHatch") (progn (vla-put-layer subent "0") (vla-put-color subent 0) (vla-put-lineweight subent aclnwtbyblock) (vla-put-linetype subent "byblock") );_ end of progn );_ end of if ) ;_ end of vlax-for ) ;_ end of progn ) ;_ end of if ) ;_ end of vlax-for (func_restore-layers) (vla-endundomark adoc) (princ) ) ;_ end of defun
-
[Résolu] Ajout de paire pointées dans une liste
(gile) a répondu à un(e) sujet de DenisHen dans Débuter en LISP
C'est précisément le propos de mapcar que de retourner la liste des résultats de l'exécution d'une fonction sur chacun des élément d'une liste. -
Salut, Remplace l'expression (à la fin) : (progn (vlax-for subent blk (vla-put-layer subent "0") (vla-put-color subent 0) (vla-put-lineweight subent aclnwtbyblock) (vla-put-linetype subent "byblock") ) ;_ end of vlax-for ) ;_ end of progn par celle là : (progn (vlax-for subent blk (if (/= (vla-get-ObjectName subent) "AcDbHatch") (progn (vla-put-layer subent "0") (vla-put-color subent 0) (vla-put-lineweight subent aclnwtbyblock) (vla-put-linetype subent "byblock") );_ end of progn );_ end of if ) ;_ end of vlax-for ) ;_ end of progn
-
[Résolu] Ajout de paire pointées dans une liste
(gile) a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Et moi qui aspire à n'avoir ni Dieu ni maître... De manière plus "fonctionnelle" on peut aussi faire : (setq l '("Aucun" "Bâtiments" "Cadastre" "Chemin de fer" "Clôture" "Courbes de niveaux" "Jeux" "Mobilier Urbain" "Repère" "Signalisation horizontale" "Signalisation verticale" "Talus" "Titre" "Topographie" "Végétation" "Détection Arrosage" "Détection Assainissement" "Détection Chaleur / Calorifuge" "Détection Produits Chimiques" "Détection Eau Pluviale" "Détection Eau Potable" "Détection Eau Usée" "Détection Éclairage Public" "Détection Électrique (BT + HT)" "Détection Électrique BT" "Détection Électrique HT" "Détection Fibre optique" "Détection Gaz" "Détection Multiples" "Détection Non Identifié" "Détection Signalisation Lumineuse Tricolore" "Détection Télécommunication" "Détection Téléreport" "Détection Unitaire" "Détection Vidéo" ) ) (setq i 0) (setq LstEntete (mapcar '(lambda (x) (cons (setq i (1+ i)) x)) l)) -
[Résolu] Ajout de paire pointées dans une liste
(gile) a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Je ne sais pas comment tu as construit ta liste, mais tu peux faire quelque chose comme ça : (setq l '("Aucun" "Bâtiments" "Cadastre" "Chemin de fer" "Clôture" "Courbes de niveaux" "Jeux" "Mobilier Urbain" "Repère" "Signalisation horizontale" "Signalisation verticale" "Talus" "Titre" "Topographie" "Végétation" "Détection Arrosage" "Détection Assainissement" "Détection Chaleur / Calorifuge" "Détection Produits Chimiques" "Détection Eau Pluviale" "Détection Eau Potable" "Détection Eau Usée" "Détection Éclairage Public" "Détection Électrique (BT + HT)" "Détection Électrique BT" "Détection Électrique HT" "Détection Fibre optique" "Détection Gaz" "Détection Multiples" "Détection Non Identifié" "Détection Signalisation Lumineuse Tricolore" "Détection Télécommunication" "Détection Téléreport" "Détection Unitaire" "Détection Vidéo" ) ) (setq i 0) (setq LstEntete nil) (foreach n l (setq i (1+ i) LstEntete (cons (cons i n) LstEntete) ) ) (setq LstEntete (reverse LstEntete)) -
[Résolu] Ajout de paire pointées dans une liste
(gile) a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Regarde bien ta liste, la dernière paire pointée n'en est pas une : ((35 . "Détection Vidéo") (34 . "Détection Unitaire") ...... (2 . "Bâtiments") 1 . "Aucun") il faudrait : ((35 . "Détection Vidéo") (34 . "Détection Unitaire") ...... (2 . "Bâtiments") (1 . "Aucun")) -
[Résolu] Ajout de paire pointées dans une liste
(gile) a répondu à un(e) sujet de DenisHen dans Débuter en LISP
Salut, LstEntete est une "variable" à laquelle tu as assigné une liste (pls précisément, un symbole auquel tu as attaché une valeur de type liste). Donc passer la "variable" (le symbole) à une fonction est équivalent à passer sa valeur (la liste) à la fonction. (reverse '(1 2 3)) ; => (3 2 1) (setq lst '(1 2 3)) ; => (1 2 3) (reverse lst) ; => (3 2 1) -
Numéroter un bloc de funiculaire de facon automatique
(gile) a répondu à un(e) sujet de coco09 dans AutoCAD 2015
salut, Un petit screencast pour montrer le fonctionnement de Increment avec des attributs de bloc.
