Aller au contenu

Dexter

Membres
  • Compteur de contenus

    10
  • Inscription

  • Dernière visite

À propos de Dexter

  • Date de naissance 16/03/1972

Profile Information

  • Gender
    Not Telling

Dexter's Achievements

Newbie

Newbie (1/14)

0

Réputation sur la communauté

  1. J'ai enfin trouvé, ATTDIA ! ! Voici mon code pour observations... Merci encore... J'ai commenté au maximum, pour moi et pour les débutants : (defun c:Metre_Piece (/ Surf Peri) (setq echo (getvar 'CMDECHO) ;Sauvegardede la variable CmdEcho attdia (getvar 'ATTDIA) ;attreq (getvar 'ATTREQ) ) ;_ Fin de setq (setvar 'CMDECHO 0) ;Attribution de sa nouvelle valeur (0=cache l'affichage) (setvar 'ATTDIA 0) ;0=invite de commande / 1=boites de dialogue ; (setvar 'ATTREQ 0) ;0=cache la fenetre "Entrer les attributs" (setvar "dimzin" 1) (princ "\nTournez dans le sens horaire ! !") ;pour des raison de compatibilité avec d'autres routines (command "_.pline" ;dessine une polyligne avec le curseur (while (not (zerop (getvar "cmdactive"))) (command pause) ) ;_ Fin de while ) ;_ Fin de command (setq Surf (rtos (vlax-get (vlax-ename->vla-object (entlast)) 'area ) ;_ Fin de vlax-get ) ;_ Fin de rtos Peri (rtos (vlax-get (vlax-ename->vla-object (entlast)) 'length ) ;_ Fin de vlax-get ) ;_ Fin de rtos ) ;_ Fin de setq (command "_insert" ;insertion du bloc "Blk_Piece.dwg" ;nom du bloc (getpoint) ;point d'insertion 1 ;X 1 ;Y 0 ;Z "" ;N° du lot "" ; Type de pièce "" ;Catégorie Surf ;Superficie Peri ;Périmètre "" ;Niveau "" ;Escalier "" ;Ascenseur "" ;Entrer ) (setvar 'CMDECHO echo) ;Redonne son ancienne valeur à CmdEcho (setvar 'ATTDIA attdia) ; (setvar 'ATTREQ attreq) ) ;_ Fin de defun Maintenant je vais exporter tous çà dans Excel. Bonne journée à tous et encore merci, Dexter...
  2. Bonsoir à tous, J'ai trouvé différents truc et j'ai fais çà : (defun c:Metre_Piece (/ Surf Peri) (setq echo (getvar 'CMDECHO)) ;Sauvegardede la variable CmdEcho (setq attreq (getvar 'ATTREQ)) (setvar 'CMDECHO 0) ;Attribution de sa nouvelle valeur (0=cache l'affichage) (setvar 'ATTREQ 0) ;0=cache la fenetre "Entrer les attributs" (setvar "dimzin" 1) (princ "\nTournez dans le sens horaire ! !") ;pour des raison de compatibilité avec d'autres routines (command "_.pline" ;dessine une polyligne avec le curseur (while (not (zerop (getvar "cmdactive"))) (command pause)) ;_ Fin de while ) ;_ Fin de command (setq Surf (rtos (vlax-get (vlax-ename->vla-object (entlast)) 'area)) Peri (rtos (vlax-get (vlax-ename->vla-object (entlast)) 'length)) ) ;_ Fin de setq (command "_insert" "Blk_Piece.dwg" (getpoint) 1 1 0 Surf Peri "") ;insertion du block (vlax-dump-object (vlax-ename->vla-object (entlast)) T) (setvar 'CMDECHO echo) ;Redonne son ancienne valeur à CmdEcho (setvar 'ATTREQ attreq) ) ;_ Fin de defun Mais avec le "dump", je ne vois pas mes attributs. La liste doit être quelquepart... Je continue mes recherches...
  3. Voici le code (command "_insert" "Blk_Piece.dwg" (getpoint) 1 1 0 Surf Peri "") ;insertion du block Mais çà ne fonctionne pas, il m'affiche la fenêtre "Entrer les attributs" dans laquelle j'en ai 8... Mais je cherche... Je pense qu'il doit il y avoir ce mot clef "GetAttributes"
  4. Merci à tous, voici le début de ma routine : (defun c:Metre_Piece (/ Surf Peri) (setq echo (getvar 'CMDECHO)) ;Sauvegardede la variable CmdEcho (setvar 'CMDECHO 0); Attribution de sa nouvelle valeur (0=cache l'affichage) (princ "\nTournez dans le sens horaire ! !") ;pour des raison de compatibilité avec d'autres routines (command "_.pline" ;dessine une polyligne avec le curseur (while (not (zerop (getvar "cmdactive"))) (command pause)) ;_ Fin de while ) ;_ Fin de command (setq Surf (rtos (vlax-get (vlax-ename->vla-object (entlast)) 'area)) ;Aire de la Plign Peri (rtos (vlax-get (vlax-ename->vla-object (entlast)) 'length));Périmètre de la Plign ) (setvar 'CMDECHO echo) ; Redonne son ancienne valeur à CmdEcho ) Pour la suite, je cherche encore... -inserer... Mais il m'affiche la fenêtre pour remplir les attributs... Merci encore à tous, bon, j'ai du encore boulo avec çà...
  5. Génial... Merci, Voici ma routine, pour l'instant : (defun c:Metre_Piece (/ Surf Peri) (princ "\nTournez dans le sens horaire ! !") (command "_.pline" (while (not (zerop (getvar "cmdactive"))) (command pause)) ;_ Fin de while ) ;_ Fin de command (princ (strcat "\nLe périmètre est de : " (rtos (vlax-get (vlax-ename->vla-object (entlast)) 'length))) ) ;_ Fin de princ (princ (strcat "\nLa superficie est de : " (rtos (vlax-get (vlax-ename->vla-object (entlast)) 'area))) ) ;_ Fin de princ ) Je n'ai plus qu'à remplir mon bloc pendant l'insertion... merci encore...
  6. Merci Patrick_35 Peut-on avoir aussi la surperficie avec çà ? (l'aide AutoCAD est en anglais et je n'en ai pas trouvé sur "vlax-get" seul et "vlax-ename->vla-object" ne me dit rien d'intéressant (princ (strcat "\nLa superficie est de : " (rtos (vlax-get (vlax-ename->vla-object (entlast)) 'area)))) Merci encore...
  7. Bonjour, Waow... Merci VDH-Bruno, j'ai du boulo maintenant. Je posterai ma routineune fois que je saurais remplir les attribut du bloc avec Surf et Peri... Merci encore, Dexter...
  8. Bonjour à tous, Merci Patrick_35, c'est pile poil... J'ai donc : (setq jspoly (entget (entlast))) (princ (rtos (getvar "area") 2 2)) Où jspoly contient les données DXF de ma polyligne... Me reste plus qu'à rechercher les distance pour en sortir le périmètre... Merci encore, Dexter...
  9. Je cherche avec çà : (defun c:Mettre_Piece (/ Ech scl) (if (= (setq Ech (vlax-ldata-get "Phalene" "Ech1")) nil) ;_ Fin de = (c:PhEch)) ;(setq jspoly (ssadd)) (princ "\nTournez dans le sens horaire ! !") (command "_.pline" (while (not (zerop (getvar "cmdactive"))) (command pause)) ;_ Fin de while ) ;_ Fin de command (princ "--1") (setq jspoly (car (entlast))) (princ "--2") (princ (rtos (getvar "PERIMETER") 2 (getvar "luprec"))) ;_ Fin de if ) Mais la ligne avec jspoly (que j'ai piqué à un autre) me donne : ; erreur: type d'argument incorrect: consp <Nom d'entité: 7c479868> je vais voir du côté de 'car'...
  10. Bonjour à tous, Voilà,j'ai pas mal cherché dans les forums sans trouver ce que je voulais faire (trop complet ou trop compliqué) Mon problème : je dessine une polyligne de cette façon : (princ "\nTournez dans le sens horaire ! !") (command "_.pline" (while (not (zerop (getvar "cmdactive"))) (command pause)) ;_ Fin de while ) ;_ Fin de command Mais après, j'aimerai inserer un bloc (Blk_Piece.dwg) puis, mettre à jour l'attribut "SUP" pour SUPerficie et "PERI" pour PÉRImètre de cette polyligne. Les autres ne sont ques des variables que je maitrise (étage, escalier, ascenseur,...). Je n'ai pas besoin de réacteur... Les plans sont "figés" J'aimerai juste quelques petites lignes bien commentées pour bien les comprendre... Mon but final, c'est un listing complet des blocks "Blk_Piece" vers un fichier excel. Merci d'avance... Dexter...
×
×
  • 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é