Aller au contenu

BIM G CO

Membres
  • Compteur de contenus

    1 050
  • Inscription

  • Dernière visite

  • Jours gagnés

    2

Tout ce qui a été posté par BIM G CO

  1. Yep Yep me moquer? je me suis fais couper la tête pour moins que çà :P
  2. Aller vite fait un faux plafond (defun c:FxPlaf (/ x1 x2 x3 x4 x5 x6 Dalle NbRg NbCol PUBLIC_ERROR D1 D2) (setvar "CMDECHO" 1) (setvar "ORTHOMODE" 0) (setvar "OSMODE" 17079) (setq VAR_UNITES 1) ; echelle 1 (setq x1 (getpoint "\nIndiquer le coin inférieur gauche de la pièce à calepiner " ) ) (setq x3 (getpoint "\nIndiquer le coin supérieur droit de la pièce à calepiner " ) ) (setvar "OSMODE" 17079) (setq x1 (list (car x1) (cadr x1) 0.0)) (setq x2 (list (car x1) (cadr x3) 0.0)) (setq x3 (list (car x3) (cadr x3) 0.0)) (setq x4 (list (car x3) (cadr x1) 0.0)) (setq x5 (inters x1 x3 x2 x4)) (if (not x5) (progn (princ "\nErreur de saisie de point") (exit) ) ) (command "_.PLINE" x1 x2 x3 x4 "_close") (setq Dalle (list (entlast))) (setq D1 (/ (distance x1 x2) (* 0.6 VAR_UNITES))) (setq D2 (/ (distance x2 x3) (* 0.6 VAR_UNITES))) (if (> (- D1 (fix D1)) 0.3) (Setq D1 (1+ D1)) ) (if (> (- D2 (fix D2)) 0.3) (Setq D2 (1+ D2)) ) (setq NbRg (1+ (fix D1))) (setq NbCol (1+ (fix D2))) (setq x6 (list (- (car x5) (* (/ NbCol 2) (* 0.6 VAR_UNITES))) (- (cadr x5) (* (/ NbRg 2) (* 0.6 VAR_UNITES))) ) ) (command "_.PLINE" (list (- (car x6) (* 0.3 VAR_UNITES)) (- (cadr x6) (* 0.3 VAR_UNITES)) ) (list (+ (car x6) (* 0.3 VAR_UNITES)) (- (cadr x6) (* 0.3 VAR_UNITES)) ) (list (+ (car x6) (* 0.3 VAR_UNITES)) (+ (cadr x6) (* 0.3 VAR_UNITES)) ) (list (- (car x6) (* 0.3 VAR_UNITES)) (+ (cadr x6) (* 0.3 VAR_UNITES)) ) "_close" ) (setq Dalle (append Dalle (list (entlast)))) (command "_.-ARRAY" (cadr Dalle) "" "R" ; Rectangulaire (1+ NBRg) ; Nombre de rangée (1+ NbCol) ; Nombre de colonne (* 0.6 VAR_UNITES) ; Distance entre rangée (* 0.6 VAR_UNITES) ; Distance entre colonne ) ;; Permettre la sauvegarde sur une liste de toutes les entités composant le faux plafond (while (entnext (nth (1- (length Dalle)) Dalle)) (setq Dalle (append Dalle (list (entnext (nth (1- (length Dalle)) Dalle))) ) ) ) ;; Création du groupe faux plafond (setq D1 2) (setq D2 (ssadd (nth 1 Dalle))) (while (< D1 (length Dalle)) (setq D2 (ssadd (nth D1 Dalle) D2 ) ) (setq D1 (1+ D1)) ) (command "_.-GROUP" "_create" (strcat "FxPLAF_" (vl-string-left-trim "Nom d'entité: " (vl-string-left-trim "Entity name: " (vl-string-trim "<>" (vl-princ-to-string (nth 0 Dalle))) ) ) ) "Calepinage Faux Plafond" D2 "" ) (Command "_.ERASE" (nth 0 Dalle) "") (ResolFxplaf x6) (princ) ) (defun ResolFxplaf (ARG_PT) (if (not ARG_PT) (setq ARG_PT (getpoint "\nPoint de base ")) ) (setvar "SNAPBASE" (list (- (car ARG_PT) (* 0.3 VAR_UNITES)) (- (cadr ARG_PT) (* 0.3 VAR_UNITES)) ) ) (setvar "SNAPUNIT" (list (* 0.3 VAR_UNITES) (* 0.3 VAR_UNITES)) ) (setvar "GRIDUNIT" (list (* 0.6 VAR_UNITES) (* 0.6 VAR_UNITES)) ) (princ) )
  3. BIM G CO

    vlax-ldata ... suite

    J'ai aussi 2007 et j(ai aussi bah encore du mystère
  4. à droite des boutons "..." "SCUD" "DYN" "EL" "OBJET" tu as un carré avec deux petits point noirs. clique (à l'aide du bouton droit) sur l'un d'eux et tu coche "afficher les onglets" c'est un truc de ce genre la prochaine fois fais attention: quand c'est écrit masquer les onglets objet présentations çà les masque :P [Edité le 11/12/2006 par Maximilien]
  5. Un peu simplissime : Ce qui est apparu à mon humble avis de notable ( :P le double sens de la phrase) : - à partir de la version 2005 (Masquage des textes multilignes! plus besoin d'utiliser les wipeouts pour masquer derrière les textes multilignes.(car il est géré dans leur code DXF) voir sujet ici , ici et solutionné ici - à partir de la version 2006 la gestion des feuilles et modification de la gestion des mises en page / configuration des présentations, une utilisation + rationnelle des variables INSUNITS, INSUNITSDEFSOURCE et INSUNITSDEFTARGET Bien sûr je ne vois que les améliorations que je me sers. Mais je suis sûr que je suis passé à coté de beaucoup d'autre [Edité le 12/12/2006 par Maximilien]
  6. BIM G CO

    Livre sur Autocad 2007

    je ne sais pas si le manuel d'utilisation d'autocad 2007 qui se trouve sur le CD 1 (\bin\acadfeui\docs) en version PDF (9400 Ko - 1372 pages) te suffira. [Edité le 1/12/2006 par Maximilien]
  7. BIM G CO

    Satané \"impliedfacex\"

    oui AutoCAD 2007 SP1 installé et les hotfix dont notamment un concernant un pb de buffer overflow
  8. BIM G CO

    Souris et style visuel

    soit le bouton RESOL est enclenché soit un bloc lourd dans ton dessin et la subrillance te ralentit ton poste ....
  9. ce n'était pas si compliqué vla-get-ObjectName correspond à la valeur 100 (le deuxième) du code DXF bon maintenant je vais regarder ce que je peux effacer : pour l'instant nous avons vla-get-ObjectName = AcDbHatch et AcDbWipeout imaginons les possibilités Point : AcDbPoint des lignes de longueur 0 (bonuscad l'a fait en autolisp ....) et.... je ne vois pas d'autres choses ... Dans le but de faire une seul fonction capable d'effacer suivant un argument Faire la liste les entités possibles (c'est çà qui sera long) Cas des hachures (utilisation de vla-get-PatternName) voir donc pour les entités complexes fonction du genre: (defun deleteVisualLispInBlocks (ARGUMENT / AcDoc b e) (if (not ARGUMENT) (setq ARGUMENT (getstring "\nSaisissez l'ObjectName "))) (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object))) (vla-StartUndoMark AcDoc) (vlax-for b (vla-get-Blocks AcDoc) (vlax-for e b (if (= ARGUMENT (vla-get-ObjectName e)) (vla-delete e) ) ) ) (vla-EndUndoMark AcDoc) (vla-regen AcDoc acActiveViewport) (princ) (defun c:deleteVisualLispInBlocks () (deleteVisualLispInBlocks nil) ) ) [Edité le 30/11/2006 par Maximilien]
  10. Effacer des Wipeout contenu dans les blocs (defun c:deleteWipeOutInBlocks (/ AcDoc) (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object))) (vla-StartUndoMark AcDoc) (vlax-for b (vla-get-Blocks AcDoc) (vlax-for e b (if (= "AcDbWipeout" (vla-get-ObjectName e)) (vla-delete e) ) ) ) (vla-EndUndoMark AcDoc) (vla-regen AcDoc acActiveViewport) (princ) ) utile pour alléger des plans d'architectes (mettre un Wipeout dans le blocs de surface mais quelle idée!) [Edité le 30/11/2006 par Maximilien]
  11. AutoDesk nous a pondu un truc pas possible : lorsque je désire utiliser le anti-slash "\" AutoCAD le traduit pas "_.impliedfacex" même entre guillemets. Je fais pas mal de contrôle de textemultiligne en ligne de commande et imaginez mon désappointement lorsque mes variables contiennent des "_.impliedfacex" pour les forçage de texte à la place de "\" :mad: :mad: Commande: (setq valeur "\\\\A1;") "_.impliedfacex _.impliedfacex _.impliedfacex _.impliedfacex A1;" Commande: (princ valeur) _.impliedfacex _.impliedfacex _.impliedfacex _.impliedfacex A1;"_.impliedfacex _.impliedfacex _.impliedfacex _.impliedfacex A1;" [Edité le 30/11/2006 par Maximilien]
  12. BIM G CO

    DECALER ET EFFACER !!!

    un bouton pour décaler de 20 en effacement OUI ^C^C_offset;_erase;_yes;[b]20[/b]; un bouton pour décaler de 20 en effacement NON ^C^C_offset;_erase;_no;[b]20[/b]; pour le fun : pour les calques ^C^C_offset;_layer;_c;[b]20[/b]; ^C^C_offset;_layer;_source;[b]20[/b];
  13. la variable tempo est à l'intérieur des guillemets dans ton exemple et dans le mien non : donc créé un fichier avec un nom Tempo (car inclu dans les guillemets) mais c'est un fichier avec un nom contenu dans la variable tempo (sans guillemets) mais j'avoue je ne connais absolument pas la programmation VBA j'ai juste vu l'erreur et corrigé ce qui a téé vite tapé. Je n'ai aucun mérite :D Te vexe pas Didier [Edité le 30/11/2006 par Maximilien]
  14. peux-tu expliciter? ASTERIXII
  15. le code autoLISP à enregistrer dans un fichier texte avec extension .LSP (defun table_entete (TB / TBLIST TBLIST TBNAME RES) (setq TBNLIST nil) (setq TBLIST (tblnext TB T)) (while TBLIST (setq TBNAME (cdr (assoc 2 TBLIST))) (setq TBNLIST (append TBNLIST (list TBNAME))) (setq TBLIST (tblnext TB)) ) (setq RES TBNLIST) ) (defun Programmation (ARG_TYPE / PRIVE_RESULTAT n PRIVE_ENTITE PRIVE_FILE PRIVE_BOUCLE PRIVE_ENTETE ) (cond ((= ARG_TYPE 1) ; Entité Variable Entité (progn (setq PRIVE_ENTITE nil) (while (not PRIVE_ENTITE) (setq PRIVE_ENTITE (entsel "Entité:")) ) (setq PRIVE_ENTITE (entget (car PRIVE_ENTITE))) (if (assoc 7 PRIVE_ENTITE) (progn (Princ "\nBibliothèque :") (foreach n (tblsearch "STYLE" (cdr (assoc 7 PRIVE_ENTITE))) (print n) ) ) ) (if (assoc 7 PRIVE_ENTITE) (Princ "\n\nEntité :") ) (foreach n PRIVE_ENTITE (print n)) (setq PRIVE_RESULTAT PRIVE_ENTITE) (if (and (= (cdr (assoc 0 PRIVE_ENTITE)) "INSERT") (assoc -2 (tblsearch "BLOCK" (cdr (assoc 2 PRIVE_ENTITE)))) ) (progn (Princ "\n\nEntité(s) dans le bloc:") (setq PRIVE_ENTITE (entget (cdr (assoc -2 (tblsearch "BLOCK" (cdr (assoc 2 PRIVE_ENTITE)) ) ) ) ) ) (foreach n PRIVE_ENTITE (print n)) (while (entnext (cdr (assoc -1 PRIVE_ENTITE))) (princ "\n") (setq PRIVE_ENTITE (entget (entnext (cdr (assoc -1 PRIVE_ENTITE))) ) ) (foreach n PRIVE_ENTITE (print n)) ) ) ) ) ) ((= ARG_TYPE 2) ; Table de l'entité selectionnée (progn (setq PRIVE_ENTITE nil) (while (not PRIVE_ENTITE) (setq PRIVE_ENTITE (entsel "Entité: ")) ) (setq PRIVE_ENTITE (entget (car PRIVE_ENTITE))) (if (or (= (cdr (assoc 0 PRIVE_ENTITE)) "TEXT") (= (cdr (assoc 0 PRIVE_ENTITE)) "MTEXT") ) (progn (print (cdr (assoc 0 PRIVE_ENTITE))) (setq PRIVE_RESULTAT (TABLE_ENTETE "STYLE")) ) ) (if (or (= (cdr (assoc 0 PRIVE_ENTITE)) "LINE") (= (cdr (assoc 0 PRIVE_ENTITE)) "LWPOLYLINE") (= (cdr (assoc 0 PRIVE_ENTITE)) "CIRCLE") (= (cdr (assoc 0 PRIVE_ENTITE)) "XLINE") ) (progn (print (cdr (assoc 0 PRIVE_ENTITE))) (foreach n (tblsearch "LTYPE" (cdr (assoc 6 PRIVE_ENTITE))) (if n (print n) ) ) (setq PRIVE_RESULTAT (TABLE_ENTETE "LTYPE")) ) ) (if (= (cdr (assoc 0 PRIVE_ENTITE)) "INSERT") (progn (print (cdr (assoc 2 PRIVE_ENTITE))) (setq PRIVE_RESULTAT (TABLE_ENTETE "BLOCK")) ) ) (if PRIVE_RESULTAT (progn (princ "\nListe des Entêtes: ") (foreach n PRIVE_RESULTAT (Print n)) ) ) ) ) ((= ARG_TYPE 3) ; Voler le type de ligne de l'archi format DXF (progn (setq PRIVE_FILE (open "C:\\LTYPE.CSV" "w")) (foreach n (TABLE_ENTETE "LTYPE") (progn (setq PRIVE_BOUCLE 0) (setq PRIVE_RESULTAT "") (setq PRIVE_ENTETE (entget (tblobjname "LTYPE" n))) (if (assoc -1 PRIVE_ENTETE) (setq PRIVE_ENTETE (vl-remove (assoc -1 PRIVE_ENTETE) PRIVE_ENTETE ) ) ) (if (assoc 5 PRIVE_ENTETE) (setq PRIVE_ENTETE (vl-remove (assoc 5 PRIVE_ENTETE) PRIVE_ENTETE ) ) ) (if (assoc 330 PRIVE_ENTETE) (setq PRIVE_ENTETE (vl-remove (assoc 330 PRIVE_ENTETE) PRIVE_ENTETE ) ) ) (if (assoc 340 PRIVE_ENTETE) (setq PRIVE_ENTETE (vl-remove (assoc 340 PRIVE_ENTETE) PRIVE_ENTETE ) ) ) (while (< PRIVE_BOUCLE (length PRIVE_ENTETE)) (setq PRIVE_ENTITE (vl-string-subst ":" " . " (vl-princ-to-string (nth PRIVE_BOUCLE PRIVE_ENTETE) ) ) ) (setq PRIVE_ENTITE (strcat "[" (substr PRIVE_ENTITE 2))) (setq PRIVE_ENTITE (strcat (substr PRIVE_ENTITE 1 (- (strlen PRIVE_ENTITE) 1) ) "]" ) ) (setq PRIVE_RESULTAT (strcat PRIVE_RESULTAT (if (/= "" PRIVE_RESULTAT) ";" "" ) PRIVE_ENTITE ) ) (setq PRIVE_BOUCLE (1+ PRIVE_BOUCLE)) ) (if (/= (cdr (assoc 2 PRIVE_ENTETE)) "Continuous") (write-line PRIVE_RESULTAT PRIVE_FILE) ) ) ) (close PRIVE_FILE) ) ) (t nil) ) PRIVE_RESULTAT ) après avoir créer à l'aide du bloc note ce fichier - enregistrer. glisser le fichier dns la fenêtre de dessin d'Autodesk Autodesk Architectural Desktop et créer un bouton pour avoir toutes les entités dans le le bloc sélectionné ^C^C (setq PUBLIC_PROGRAM (Programmation 1))(princ) à l'aide de la touche F2 vous voyer un listing avec des codes : pour chaque sous entité (0 . "xxxxxxxx") est le type d'entité (2 . "xxxxxxxx") est le nom du bloc (8 . "xxxxxxxx") est le calque dans lequel il est dessiné [Edité le 30/11/2006 par Maximilien]
  16. Si tu as Windows XP, avant de faire une recherche vérifie si l'explorateur Windows ne cache pas les fichiers cachés (Option des dossiers) car si ton "CUI" (CUI CUI CUI :mad: ) peut être rangé dans le C : \Document and setting\%username%\local settings\Application Data\Audodek\R17.0\Support Or le dossier "local settings" est caché par défaut! donc la recherche de windows ne le regarde pas D'ailleurs je n'utilise pas les fichiers CUI CUI CUI j'utilise les fichiers MNU et je les transforme en CUI automatiquement [Edité le 30/11/2006 par Maximilien]
  17. BIM G CO

    MATRIX

    Ok pour les matrices! mais encore un challenge comment faire pour "inverser" une matrice X1 Y1 Z1 X2 Y2 Z2 X3 Y3 Z3 en une matrice dont les valeurs seront X1 X2 X3 Y1 Y2 Y3 Z1 Z2 Z3 ceci utile pour l'utilisation DCL (en vérité c'est plus pour une inversion du même genre sur des tableau 2D à nb1 rangée et nb2 colonne) ce n'est rien que pour te compliquer la vie :D Maximilien taquin! :D [Edité le 30/11/2006 par Maximilien]
  18. et ceci plus simplement ? Sub SauveCircus() Sheets("Cartouche").Select Range("H5").Select Tempo = "\\Serv2000\production\Création Nomenclature\" & ActiveCell.Value & ".xls" ActiveWorkbook.SaveAs Filename:=tempo End Sub
  19. BIM G CO

    impression convertion PDF

    J'ai eu ce problème et j'ai opté pour un autre logiciel PDF reDirect en attendant de trouver un meilleur moyen
  20. Voici le code que j'utilise pour créer les blocs pour chaque réseau dessiné. Pour chaque réseau différent nous avons un calque et suivant qu'il soit en plafond / en plinthe / encastré / ou sur le plan Masse il y a un style trait différent. (defun BLOC_LEGENDE (ARG_NIVEAU ARG_ECHELLE ARG_COLFIN / VAR_ListePt VAR_BLOCKNAME VAR_EpaisFIN VAR_EpaisTXT VAR_EpaisNOR VAR_TEXTE ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Fonction qui crée un bloc dans la table des blocs dont les caract. ;;; ;;; sont une polyligne pour cadre, une ligne pour le réseau tracé ;;; ;;; et un attribut pour la légende ;;; ;;; ;;; ;;; Arguments: Nom du calque où est mis le réseau ;;; ;;; Niveau Plafond / plinthe / sous dalle / plan Masse ;;; ;;; Echelle à laquelle le dessin est dessiné (1.0=1/50 ;;; ;;; 2.0=1/100 4.0=1/200 etc) ;;; ;;; Couleur pour les traits fins ;;; ;;; ;;; ;;; Retourne : le nom du bloc ajouté dans la table des blocs ;;; ;;; ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Variable local pour le nom du bloc (setq VAR_BLOCKNAME (strcat "LEGENDE_" (getvar "CLAYER") "_" (vl-princ-to-string ARG_NIVEAU) "_" (vl-princ-to-string ARG_ECHELLE) ) ;; Variable locale pour le texte VAR_TEXTE (tblsearch "STYLE" "Standard") ;; Variable locale pour la liste des points pour le tracé du bloc VAR_ListePt (list ;; LWPOLYLIGNE point Origine (list 0.0 0.0) ;; LWPOLYLIGNE point 1 (list (* 3 ARG_ECHELLE) 0.0) ;; LWPOLYLIGNE point 2 (list (* 3 ARG_ECHELLE) (* -0.5 ARG_ECHELLE)) ;; LWPOLYLIGNE point 3 (list (* 7.0 ARG_ECHELLE) (* -0.5 ARG_ECHELLE)) ;; LWPOLYLIGNE point 4 (list (* 7.0 ARG_ECHELLE) 0.0) ;; LWPOLYLIGNE point 5 (list (* 3 ARG_ECHELLE) 0.0) ;; LWPOLYLIGNE point 6 (list (* 3 ARG_ECHELLE) (* -0.5 ARG_ECHELLE)) ;; LWPOLYLIGNE point 7 (list 0.0 (* -0.5 ARG_ECHELLE)) ;; LINE Point 8 (assoc 10) (list (* 0.15 ARG_ECHELLE) (* -0.25 ARG_ECHELLE) 0.0) ;; LINE Point 9 (assoc 11) (list (* 2.85 ARG_ECHELLE) (* -0.25 ARG_ECHELLE) 0.0) ;; ATTDEF Point 10 (assoc 10) (list (* 3.1 ARG_ECHELLE) (* (/ (+ (* 2 (cdr (assoc 42 VAR_TEXTE))) 1.0) -4 ) ARG_ECHELLE ) 0.0 ) ;; ATTDEF Point 11 (assoc 11) (list (* 3.1 ARG_ECHELLE) (* -0.25 ARG_ECHELLE) 0.0) ) ;; Variable locale pour le forçage des épaisseur de trait FIN (sers uniquement pour embêter les puristes) VAR_EpaisFIN 13 ;; Variable locale pour le forçage des épaisseur des textes (sers uniquement pour embêter les puristes) VAR_EpaisTXT 18 ;; Variable locale pour le forçage des épaisseur de trait des réseaux (sers uniquement pour embêter les puristes) VAR_EpaisNOR 35 ) ;; CELTYPE = Type de ligne actuel ;; CECOLOR = Couleur actuelle ;; CELTSCALE = Echelle de type de ligne actuel ;|(princ "\n") (princ VAR_BLOCKNAME) (princ "\n") (princ VAR_TEXTE) (princ "\n") (princ VAR_ListePt) (exit)|; (entmake (list '(0 . "BLOCK") '(8 . "0") (cons 2 VAR_BLOCKNAME) '(70 . 2) '(4 . "") '(62 . 0) '(6 . "Byblock") (cons 10 (list 0.0 0.0 0.0)) ) ) (entmake (list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") '(67 . 0) '(8 . "0") (cons 62 ARG_COLFIN) '(6 . "Continuous") (cons 370 VAR_EpaisFIN) '(100 . "AcDbPolyline") '(90 . 11) '(70 . 1) '(43 . 0.0) '(38 . 0.0) '(39 . 0.0) (cons 10 (nth 0 VAR_ListePt)) '(40 . 0.0) '(41 . 0.0) '(42 . 0.0) (cons 10 (nth 1 VAR_ListePt)) '(40 . 0.0) '(41 . 0.0) '(42 . 0.0) (cons 10 (nth 2 VAR_ListePt)) '(40 . 0.0) '(41 . 0.0) '(42 . 0.0) (cons 10 (nth 3 VAR_ListePt)) '(40 . 0.0) '(41 . 0.0) '(42 . 0.0) (cons 10 (nth 4 VAR_ListePt)) '(40 . 0.0) '(41 . 0.0) '(42 . 0.0) (cons 10 (nth 5 VAR_ListePt)) '(40 . 0.0) '(41 . 0.0) '(42 . 0.0) (cons 10 (nth 6 VAR_ListePt)) '(40 . 0.0) '(41 . 0.0) '(42 . 0.0) (cons 10 (nth 7 VAR_ListePt)) '(40 . 0.0) '(41 . 0.0) '(42 . 0.0) (cons 10 (nth 0 VAR_ListePt)) '(40 . 0.0) '(41 . 0.0) '(42 . 0.0) (cons 210 (list 0.0 0.0 1.0)) ) ) (entmake (list '(0 . "LINE") '(100 . "AcDbEntity") '(67 . 0) '(8 . "0") '(62 . 0) '(6 . "ByBlock") (cons 48 (getvar "CELTSCALE")) (cons 370 VAR_EpaisNOR) '(100 . "AcDbLine") (cons 10 (nth 8 VAR_ListePt)) (cons 11 (nth 9 VAR_ListePt)) (cons 210 (list 0.0 0.0 1.0)) ) ) (entmake (list '(0 . "ATTDEF") '(100 . "AcDbEntity") '(67 . 0) '(8 . "0") (cons 62 (cdr (assoc 62 VAR_TEXTE))) '(6 . "Continuous") (cons 370 VAR_EpaisTXT) '(100 . "AcDbText") (cons 10 (nth 10 VAR_ListePt)) (cons 40 (cdr (assoc 42 VAR_TEXTE))) (cons 1 (strcat "Réseau " (vl-string-left-trim "Réseau " (substr (getvar "CLAYER") 6)) " " (vl-princ-to-string ARG_NIVEAU) ) ) (cons 50 (cdr (assoc 50 VAR_TEXTE))) (cons 41 (cdr (assoc 41 VAR_TEXTE))) '(51 . 0.0) (cons 7 (cdr (assoc 2 VAR_TEXTE))) (cons 71 (cdr (assoc 71 VAR_TEXTE))) '(72 . 0) (cons 11 (nth 11 VAR_ListePt)) (cons 210 (list 0.0 0.0 1.0)) '(100 . "AcDbAttributeDefinition") '(3 . "Désignation") '(2 . "DESIGNATION") (cons 70 (cdr (assoc 70 VAR_TEXTE))) '(73 . 0) '(74 . 2) '(280 . 0) ) ) (entmake (list '(0 . "ENDBLK") '(8 . "0") '(62 . 0) '(6 . "byblock") ) ) VAR_BLOCKNAME ) Cette routine est ici pour exemple particularismes - les calques sont nommés ainsi _xxx-Réseau ou _xxx-Eau froide - ARG_ECHELLE est une valeur enregistrée dans le style de cote propriétaire. - ce bloc est surtout fait pour une utilisation des plans en CTB avec le blanc en 0.18mm et rouge en 0.13mm - Si le bloc existe le entmake ne provoque pas d'erreurs : il est inopérant( sous AutoCAD 2007) [Edité le 29/11/2006 par Maximilien]
  21. Mais on t'aime Didier quand même :D
  22. BIM G CO

    Touche F4 et F8

    Je veux que le plan se dessine tout seul quand je pose le plan papier sur l'écran! :D :D
  23. j'utilise un code comme suit qui fonctionne d'ailleurs très bien : ;; **************************************** ;;; - NORMALISER BLOCS - ;;; **************************************** ;;; Patrick_35 de CadXP modifié par Ludwig ;;; Récupéré le 27/01/2005 ;;; sur http://www.cadxp.com/sujetXForum-4609.htm ;;; ;;; Manque : ;;; - extraction du nom du calque sur lequel est inséré le bloc ;;; - deverouillage de ce calque s'il était verrouillé ;;; - traitement ;;; - reverrouillage s'il était verrouillé (defun c:CADXP_NormaliseBlocs (/ i n tot) ;;; Normalisation des blocs dans la table des blocs ;;; ----------------------------------------------- (setq i (tblnext "block" t) tot 1 ) ;;; RECHERCHE LA PREMIERE ENTREE DANS LA TABLE DES BLOCS (while i (setq n (cdr (assoc -2 i))) ;;; SELECTIONNE LA PREMIERE ENTITE QUI COMPOSE LE BLOC (while n (setq n (entget n)) ;;; RECUPERE LES VALEURS DES ENTITES QUI COMPOSE LE BLOC (if (/= (cdr (assoc 8 n)) "0") (progn (setq n (subst (cons 8 "0") (assoc 8 n) n)) ;;; SI L'ENTITE N'EST PAS SUR 0, LA DEPLACE SUR 0 (entmod n) ) ) (if (not (assoc 62 n)) ;;; SI L'ENTITE N'A PAS LE CODE DXF 62 (=DuCalque), LE CREE ET LUI AFFECTE LA VALEUR 0 (=DuBloc) (setq n (append n (list (cons 62 0)))) (if (/= (cdr (assoc 62 n)) 0) ;;; SI L'ENTITE N'EST PAS DE COULEUR 0, LA CHANGE EN 0 (=DuBloc) (setq n (subst (cons 62 0) (assoc 62 n) n)) ) ) (entmod n) (setq n (entnext (cdr (assoc -1 n)))) ;; ENTITE SUIVANTE ) (setq i (tblnext "block") tot (1+ tot) ) ;; BLOC SUIVANT ) ;;; Normalisation des étiquettes d'attributs de blocs dans le dessin (car une étiquette peut avoir des valeurs de calque, couleur, etc. différentes de l'attribut) ;;; ----------------------------------------------- (setq sel (ssget "x" (list (cons 0 "INSERT")))) (setq j 0) (while (and sel (ssname sel j)) (setq n (entget (ssname sel j))) (if (assoc 66 n) (progn (setq i (entget (entnext (cdr (assoc -1 n))))) (while (/= (cdr (assoc 0 i)) "SEQEND") (setq i (subst (cons 8 "0") (assoc 8 i) i)) ;; mettre l'attribut sur le même calque que celui du bloc par exemple (setq i (subst (cons 62 0) (assoc 62 i) i)) ;; mettre l'attribut sur le même calque que celui du bloc par exemple (entmod i) ;; modifier l'entité (entupd (cdr (assoc -1 i))) ;; mettre à jour sur l'écran l'entité (setq i (entget (entnext (cdr (assoc -1 i))))) ) ) ) (setq j (1+ j)) ) ;;; Résultat ;;; ----------------------------------------------- (princ (strcat "\nTraitement de " (itoa (+ tot j)) " bloc(s) (" (itoa tot) " dans la table des blocs et " (itoa j) " étiquettes d'attributs de blocs dans le dessin" ) ) (princ) )
  24. Pourtant c'est si simple de créer un jeu de feuilles! je ne vois pas ce qu'on gagne à installer un logiciel supplémentaire pour éviter d'utiliser ce que tu as d'office pour la m^me chose :casstet:
  25. Apparemment le fonctionnement est similaire de la publication de fichier à partir d'un jeu de feuilles J'utilise le jeu de feuilles pour faire des publications [Edité le 28/11/2006 par Maximilien]
×
×
  • 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é