Aller au contenu

azop

Membres
  • Compteur de contenus

    68
  • Inscription

  • Dernière visite

Tout ce qui a été posté par azop

  1. 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
  2. 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
  3. azop

    Pviewport

    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"
  4. azop

    Pviewport

    je voudrais modifier le point de vue de toute les fenetres de toute présentations
  5. azop

    Pviewport

    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
  6. azop

    Pviewport

    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) ) ) ) ) )
  7. 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
  8. azop

    Viewport

    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 ?
  9. azop

    rechercher vlisp

    Bonjour, existe t il une fonction équivalente à "rechercher" en autolisp ou vlisp ? (je veux rechercher une chaine de caractère sur mon plan)
  10. azop

    Viewport

    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 ?
  11. 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 _$
  12. azop

    etat de calque

    c'est exactement ce que je cherchait le GEF mai si il prenait en charge les couleur des fenetre sa serait tip-top
  13. azop

    etat de calque

    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
  14. 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 ???
  15. azop

    arc cosinus

    merci sa marche trop bien !!
  16. Bonsoir, y aurait-il un moyen simple de calculer l'arccosinus ?
  17. 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 ?
  18. 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) ??
  19. 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)
  20. 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
  21. 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 ?
  22. 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)
  23. 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 ?
  24. 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
  25. 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))
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité