
azop
Membres-
Compteur de contenus
68 -
Inscription
-
Dernière visite
Tout ce qui a été posté par azop
-
petite erreur dans les lignes suivantes : (setq pntBG (vlax-Safearray->list mx)) (setq pntHD (vlax-Safearray->list mi)) (command "rectang" mx mi) mais j'ai toujours le même probleme avec ce code la _$ (vla-GetBoundingBox (vlax-ename->vla-object (car (entsel))) 'mx 'mi) (setq mx (vlax-Safearray->list mx)) (setq mi (vlax-Safearray->list mi)) (command "rectang" mx mi) ; erreur: Erreur Automation Entrée incorrecte
-
bonjour, je recontre un problème en utilisant la méthode GetBoundingBox uniquement sur UN bloc. Est ce que quelqu'un aurait une idée ? _$ (vla-GetBoundingBox (vlax-ename->vla-object (car (entsel))) 'mx 'mi) mx ; erreur: Erreur Automation Entrée incorrecte
-
c'est bon j'ai trouvez il fallait que je filtre la valeur de la propriété "vla-get-UCSIconAtOrigin" sur "true" si j'ai bien compri, si ça vaut true, c'est une fenetre flotant sinon c'est "la vue général"
-
je voudrais modifier le point de vue de toute les fenetres de toute présentations
-
j'utilise taborder pour commencer à partir du 3eme onglet et je pensais que "vla-put-ActivePviewport" permettrait de passer à la prochaine fenetre, en effet, sans cette commande, il n'y à plus d'erreur, mais uniquement une des fenetre par présentation s'active
-
Bonjour, j'ai une erreur qui se produit lors de l'execution du bout de code ci-dessous auriez vous une idée d'où ça puisse venir ? (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vlax-for lay (vla-get-layouts doc) (setq tabOrder (vla-get-TabOrder lay)) (if (> tabOrder 3) (PROGN (vla-put-ActiveLayout doc lay) (vlax-for ent (vla-get-block lay) (if (= (vla-get-objectname ent) "AcDbViewport") (vla-put-mspace doc :vlax-true) (vla-put-ActivePviewport doc ent);;;; erreur: Erreur Automation Erreur lors de la configuration de la fenêtre courante (command "-pan" ptA ptB) (vla-put-mspace doc :vlax-false) ) ) ) ) )
-
bonsoir, je vous ais mis un partie du programme que j'essais de terminer, la partie qui ne marche pas, c'est uniquement lors de l'utilisation de 'Target, si vous avez une idée de mon erreur ? (vl-load-com) ;;; Début Defun c:Présentation (defun c:présentation (/ sel lsel i ent att listatt lst gabarit fichier ltab htab lay liste_bloc bloc_name n0 n lesfenetres ii dir) (alert "Selectionner uniquement les bloc sig") (setq ltab (getreal "Largeur tablette [mm] :") htab (getreal "Hauteur tablette [mm] :") ) (if (= "local_sig " (substr (cdr (assoc 2 (setq n0 (tblnext "block" T)))) 1 10)) (setq liste_bloc (list (cons (cdr (assoc 2 n0)) (cdr (assoc -2 n0))))) ) ;;; debut while (while (setq n (tblnext "block" nil)) ;;;debut if (if (= "local_sig " (substr (cdr (assoc 2 n)) 1 10)) (setq liste_bloc (cons (cons (cdr (assoc 2 n)) (cdr (assoc -2 n))) liste_bloc)) )) ;;; fin while (setq sel (ssget) lsel (sslength sel) i 0 ) ;;;début while (while (< i lsel) (setq ent (ssname sel i) att (GetAttribs ent)) (setq bloc_name (cdr (assoc 2 (entget ent)))) (setq ente (cdr (assoc bloc_name liste_bloc))) ; Effacer les présentations (vlax-for lay (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object))) (or (eq (vla-get-name lay) "Model") (vla-delete lay))) (command "presentation" "n" (cdr (assoc "NOM" att))) (command "presentation" "e" (cdr (assoc "NOM" att))) ;;;debut suppression des fenetres (setq lesfenetres (vla-get-paperspace (vla-get-activedocument (vlax-get-acad-object)))) (vla-delete (vla-item lesfenetres "0")) ;;;fin suppression des fenetres (command "-fenetres" '(0.0 0.0 0.0) (list ltab htab 0.0)) (setq entf (entlast)) (command "_.MSPACE") (setq centre-fenetre (getvar "VIEWCTR")) (command "_.PSPACE") (setq entfe (vlax-ename->vla-object entf)) ;;; Gis : routine renvoyant l'angle, le point cible.. (setq regl_fen (Gis ltab htab ente) Target (vlax-get entfe 'Target)) (vlax-put entfe 'TwistAngle (nth 0 regl_fen)) (setq centrebloc (mapcar '+ (nth 1 regl_fen) (cdr (assoc 10 (entget ent))))) (setq centrebloc (cons (car centrebloc) (cons (car (cdr centrebloc)) '(0.0))) ) (vlax-put entfe 'Target centrebloc) (vlax-put entfe 'CustomScale (* 1 (/ ltab (nth 3 regl_fen)))) (command "presentation" "ef" "présentation1") (setq fichier (strcat (getvar "DWGPREFIX") (cdr (assoc "NOM" att)) ".dwg")) (command "_SAVEAS" "2010" fichier) ;;;fin while (setq lst (cons listatt lst) i (1+ i)) ) ) ;;; Fin Defun c:psig
-
merci beaucoup, encore un petit soucis dans le même genre : je veux change mon scu (tourner de 90° dans le sens trigo) j'utilise donc 'TwistAngle jusque là tout va bien, mais si le je mets dans une boucle (while...) pour modifier plusieurs fenetre, une fois que le repère se tourne de 90°, pour la 1ere fenetre il ne se met plus à 0° pour les autres, est-ce le bon 'paramètre' a modifier ?
-
Bonjour, existe t il une fonction équivalente à "rechercher" en autolisp ou vlisp ? (je veux rechercher une chaine de caractère sur mon plan)
-
Regarde la propriété Target de l'objet PViewport (COM/ActiveX). merci pour la rapidité de ta réponse, mais en utilisant vlax-dump-object, on peut voir que le "code dxf 12" n'est pas égal à "Target" il n'y a d'ailleur aucune propriété qui donne une valeur égal au code dxf 12 sauriez vous ou trouvez cette valeur pour la modifier ?
-
Bonjour, je souhaiterai modifier le point de vue d'une fenetre d'une présentation si j'ai bien compris c'est le N°12 à modifier, en utilisant le code suivant, la liste se modifie mais aucune modification n'est appliquer à la fenetre ? sauriez vous d'où provient mon erreur ? _$ (setq fenet (car (entsel))) (setq ent (entget fenet)) (setq anclist (assoc 12 ent)) (setq conlist (cons (car anclist) '(0.0 0.0 0.0))) (setq nouvlist (subst conlist anclist ent)) (entmod nouvlist) <Nom d'entité: 7ffffb09aa0> ((-1 . <Nom d'entité: 7ffffb09aa0>) (0 . "VIEWPORT") (5 . "222") (102 . "{ACAD_XDICTIONARY") (360 . <Nom d'entité: 7ffffb09ab0>) (102 . "}") (330 . <Nom d'entité: 7ffffb06da0>) (100 . "AcDbEntity") (67 . 1) (410 . "Présentation1") (8 . "0") (100 . "AcDbViewport") (10 443.444 97.5 0.0) (40 . 205.6) (41 . 156.0) (68 . 3) (69 . 3) (12 3750.08 1505.04 0.0) (13 0.0 0.0 0.0) (14 10.0 10.0 0.0) (15 10.0 10.0 0.0) (16 0.0 0.0 1.0) (17 0.0 0.0 0.0) (42 . 50.0) (43 . 0.0) (44 . 0.0) (45 . 512.321) (50 . 0.0) (51 . 0.0) (72 . 1000) (90 . 557152) (281 . 0) (71 . 1) (74 . 0) (110 0.0 0.0 0.0) (111 1.0 0.0 0.0) (112 0.0 1.0 0.0) (79 . 0) (146 . 0.0) (170 . 0) (61 . 5) (348 . <Nom d'entité: 7ffffb06f50>) (292 . 1) (282 . 1) (141 . 0.0) (142 . 0.0) (63 . 250) (421 . 3355443)) (12 3750.08 1505.04 0.0) (12 0.0 0.0 0.0) ((-1 . <Nom d'entité: 7ffffb09aa0>) (0 . "VIEWPORT") (5 . "222") (102 . "{ACAD_XDICTIONARY") (360 . <Nom d'entité: 7ffffb09ab0>) (102 . "}") (330 . <Nom d'entité: 7ffffb06da0>) (100 . "AcDbEntity") (67 . 1) (410 . "Présentation1") (8 . "0") (100 . "AcDbViewport") (10 443.444 97.5 0.0) (40 . 205.6) (41 . 156.0) (68 . 3) (69 . 3) (12 0.0 0.0 0.0) (13 0.0 0.0 0.0) (14 10.0 10.0 0.0) (15 10.0 10.0 0.0) (16 0.0 0.0 1.0) (17 0.0 0.0 0.0) (42 . 50.0) (43 . 0.0) (44 . 0.0) (45 . 512.321) (50 . 0.0) (51 . 0.0) (72 . 1000) (90 . 557152) (281 . 0) (71 . 1) (74 . 0) (110 0.0 0.0 0.0) (111 1.0 0.0 0.0) (112 0.0 1.0 0.0) (79 . 0) (146 . 0.0) (170 . 0) (61 . 5) (348 . <Nom d'entité: 7ffffb06f50>) (292 . 1) (282 . 1) (141 . 0.0) (142 . 0.0) (63 . 250) (421 . 3355443)) nil _$
-
c'est exactement ce que je cherchait le GEF mai si il prenait en charge les couleur des fenetre sa serait tip-top
-
Bonjour, j'ai plusieurs fenetre dans une présentation (espace papier) et je souhaiterai appliquer à ces fenetres un état de calque, y aurait il un autre moyen de selectionner toute les fenetre et de leur appliquer l'état de calque souhaité ? pour l'instant je modifie les fenetres les unes aprés l'autres
-
Bonsoir, j'ai un bloc dans lequel je mets un attribut qui à pour valeur le champs "calque". jusqu'à là tout fonctionne correctement. là où sa se complique c'est que mon calque ce nomme "EXE_PH-RDC_J01" et que je souhaiterai avoir comme valeur d'attribut uniquement les 3 derniers caractères : "J01" et non "EXE_PH-RDC_J01" dans champs/ExpressionDiesiel, je pensait qu'on pourait utiliser "$(substr, ...", ce qui fonctionne pour un variable mais pas pour un nom de calque... bref auriez vous une solution ???
-
merci sa marche trop bien !!
-
Bonsoir, y aurait-il un moyen simple de calculer l'arccosinus ?
-
merci pour ta rapidité, mais autant si j'utilise les commandes "ligne", "arc" ... entlast fonctionne parfaitement pour récupéré le nom de l'entité précédemment dessiner, autant quand j'utilise la commande décaler, la ligne se dessine bien mais le nom de l'entité n'est pas récupéré aurais tu une solution ?
-
bonjour, est t-il possible de récupéré le nom d'entité de l'objet dessiner suite à l'utilisation de : (command "decaler" ep arc1 pause) ??
-
Bonjour, j'aimerai savoir s'il existerai une fonction qui suprimerai un atom dans une liste : (1 2 3 4 5) -> suprimer le 3eme atome : (1 2 4 5)
-
synthétiser un ensemble de données
azop a répondu à un(e) sujet de azop dans Pour aller plus loin en LISP
en faite ce que je veux obtenir c'est le tableau entouré de rouge sur la capture d'écran. en partant des listes : (id1 10 21 m) (id2 15 2 p) (id0 12 10 p) (id2 16 20 m) (id1 1 10 m) (id2 2 20 p) le résultat sur autocad serait : (id0 "" "" 12 10) (id1 11 31 "" "") (id2 16 20 17 22) je pense qu'on peut y arriver en utilisant la commande "if" dans tout les sens sa doit bien être possible, mais y aurait il une solution plus simple -
Bonsoir, tout d'abort merci beaucoup pour l'aide que vous m'avez apporté jusqu'à présent. j'ai plusieurs listes qui regroupe 3 atomes, et je souhaiterai avoir une synthèse de ses liste comme un tableau croisé dynamique de excel auriez vous une solution ?
-
Bonjour, j'ai un bloc qui contient plusieurs attributs. avec la fonction "entget" j'arrive à récupéré une seule valeur de mes attributs en plus de toute une liste qui ne m’intéresse pas, y aurait-il une fonction qui me pemettrait de récupéré toutes les valeurs de tout les attributs ? (je pense que les vla... peuvent m'aider, mais je ne trouve pas de documentation à ce sujet)
-
incrémenter le nom de variable
azop a répondu à un(e) sujet de azop dans Pour aller plus loin en LISP
merci beaucoup finalement j'ai enregistrer les coordonnées de mes points dans une listes, j'obtient alors une liste sous la forme suivante : ((0.1 0) (12 4) (5 55)) le problème qui vient alors c'est que si je l'utilise pour créer une polyligne de la facon suivante sa ne fonctionne pas: (setq i 1) (while (setq pt (getpoint)) (setq lst (cons pt lst)) (setq i (+ 1 i))) (setq ii 1) (command "polylign" (while (>= i ii) (nth ii lst) (setq ii (+ 1 i))) "") si j'ai bien compris, dès que je réenregistre ii en faisant (setq (+ 1 i)) le résultat est "renvoyer" pas seulement enregistré y aurait il une meilleur solution ? -
incrémenter le nom de variable
azop a répondu à un(e) sujet de azop dans Pour aller plus loin en LISP
merci beaucoup j'ai une autre question du même genre : je veux récupéré la valeur de Point0 dans les lignes suivante on peut voir que ça ne marche pas. auriez-vous la solution ? merci _$ (setq point0 '(0 0)) (listp (read (strcat "point" (itoa 0)))) (0 0) nil -
Bonsoir, je veux saisir plusieur point et les appelé point1, point2 point3 ... mais la ligne suivante précédé de while... ne fonctionne pas, quelq'un aurait -il la solution ? (setq (read (strcat "point" (itoa (- i 1)))) (getpoint))