Aller au contenu

propriété texte d'un bloc


Sepultur@

Messages recommandés

bonjour,

 

voici mon problème,

ma société a demande a un sous-traitant de nous créer des plans, ils nous ont fait un bon nombre de plans, tous avec de belles erreurs, qui sont la base du dessin.

 

les blocs demandes sont forces dans tous les sens du terme,

j'ai trouver cela

http://cadxp.com/topic/11038-lisps-de-patrick-35/

malheureusement cela ne fonctionne pas sur AutoCAD 2017

 

mes souci sont ceux la :

1- les blocs sont forces dans un calque autre que le 0

2- dans l' "éditeur de bloc" , la propriété de chaque attribut le calque n'est pas le 0

3- dans l'onglet "objet" a la modification de chaque attribut le calque n'est pas le 0

4- les blocs ne sont pas centrés (mais comparer au reste cela n'est qu'un détail)

 

j'ai fais cette action et cela a fonctionne sur une partie

http://cadxp.com/topic/35990-comment-mettre-tous-les-elements-de-plusieurs-blocs-dans-le-calque-0/

 

il me reste le problème numéro 3, très embêtant a 18 attributs par bloc.

je ne sais malheureusement pas réaliser de Lisp qui a mon avis serait la seule solution ici.

 

merci d'avance de votre aide éventuelle.

 

cordialement

 

PJ : https://drive.google.com/file/d/1FyjuPtg_sc6kM6sDAkTCXG6r2RVTX4Dz/view?usp=sharing

projeteur Autocad 2D & 3D

«·´`·.(·.¸(`·. ..... .·´)¸.·).·´`·»

«·´¨·.¸¸. ...Sepultur@... .¸¸.·¨`·»

«·´`·.(¸.´(¸.· ······ .¸)`.¸).·´`·»

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

Ton "cahier des charges" était imprécis si il y en avait un bien sûr !

 

Sans lisp tu devrais t'en sortir avec l'éditeur étendu et une synchronisation

Je n'ai pas d'AutoCAD sous la main pour le vérifier mais je pense que c'est réalisable.

 

Sur mon site je donne un exemple pour faire un lisp qui va gérer ton souci,

Je suis partisan d'apprendre à pêcher à ceux qui ont faim plutôt que leur donner du poisson. (Confucius)

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

Voici l'excellente Routine "RB_Zero" de Patrick_35 en version US/Engsih

Mais bon cela ne devrait pas poser de probleme !?

 

On remet TOUT sur le calque ZERO et en Mode DuBloc ...

 

MERCI Patrick_35, Bye, lecrabe

 

PS: Routine extraite de mon stock de 3000 LSP ...

 


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
;; 
;; Routine :  RB_Zero
;; 
;; Vers US/English Minimum par Patrice BRAUD 
;; 
;; Micro-Modif pour V....
;; 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
;;; 
;;; Version SPECIALE de "RB/RB_Calque" avec RETOUR sur le Calque ZERO 
;;;
;;; ET on "touche" aux Couleurs, Types de Lignes, Epaisseurs  --->  <DuBloc>
;;;
;;; MLINE et Attribut --> <DuBloc>
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;;; 
;;; Remise en Mode <DuBloc> et sur le Calque ZERO de TOUS les Blocs/Symboles (insert) 
;;; ou bien d'une Selection classique de Blocs/Symboles 
;;; 
;;; Mise en EVIDENCE des 4 "Forcages" : Calque 0 , Couleur , Type de Ligne , Epaisseur 
;;; pour commentaire EVENTUEL si on desire ne FORCER que 1/2/3 propriete(s) ... 
;;; 

;;;=================================================================
;;;
;;; RB.LSP V2.02
;;;
;;; Refait les Blocs de la Couleur <DuBloc> (+ Type de Ligne + Epaisseur ) 
;;;                  et "retour" sur le Calque 0 de TOUTES les entites 
;;;
;;; Copyright (C) Patrick_35
;;;
;;;=================================================================


;; (defun c:RB( / *errrb* bl ent js lst nombl doc s sel)  

(defun c:RB_Zero ( / *errrb* bl ent js lst nombl doc s sel)

 (defun *errrb* (msg)
   (or (member (strcase msg) '("FUNCTION CANCELLED" ""QUIT / EXIT ABORT"" "FONCTION ANNULEE" "QUITTER / SORTIR ABANDON"))
     (princ (strcat "\nErreur : " msg))
   )
   (vla-endundomark doc)
   (setq *error* s)
   (princ)
 )

 (defun nombl(bl)
   (if (vlax-property-available-p bl 'effectivename)
     (vla-get-effectivename bl)
     (vla-get-name bl)
   )
 )

 (vl-load-com)
 (setq doc (vla-get-activedocument (vlax-get-acad-object)))
 (vla-startundomark doc)
 (setq s *error*
*error* *errrb*
 ) 

;;   (princ "\nSelectionnez les blocs <Tout les blocs> : ") 
    (princ "\nSelect Blocks <Tout/all Blocks> : ") 

 (if (setq sel (ssget (list (cons 0 "insert"))))
   (progn
     (vlax-for bl (setq sel (vla-get-activeselectionset doc))
(or (member (setq nom (nombl bl)) lst)
  (setq lst (cons nom lst))
)
     )
;      (foreach nom lst
;	(if js
;	  (setq js (strcat js "," nom))
;	  (setq js nom)
;	)
;      )
     (vla-delete sel)
   )
   (setq js "*")
 )

 ; ----------------------------------------------------------------
 ; Modifications dans la table des blocs
 ; ----------------------------------------------------------------

 (vlax-for bl (vla-get-blocks doc)
   (and (eq (vla-get-islayout bl) :vlax-false)
 (or (eq js "*")
     (member (vla-get-name bl) lst)
 )
     (vlax-for ent bl


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 

;;;--- Forcer sur calque  / Layer 0
(vla-put-layer ent "0")

;;;--- Forcer la couleur sur Dubloc / ByBlock
  	(vla-put-color ent 0)

;;;--- Forcer le type de ligne sur Dubloc / ByBlock
  	(vla-put-linetype ent "ByBlock")

;;;--- Forcer l'epaisseur de ligne sur Dubloc / ByBlock
  	(vla-put-lineweight ent -2)  

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

     )
   )
 )



;;; ------ Avec un REGEN ------ 
 (vla-regen doc acAllViewports)

 (vla-endundomark doc)
 (setq *error* s)
 (princ)
)

;; (setq nom_lisp "RB") 
  (setq nom_lisp "RB_Zero") 

(if (/= app nil)
 (if (= (strcase (substr app (1+ (- (strlen app) (strlen nom_lisp))) (strlen nom_lisp))) nom_lisp)
   (princ (strcat "..." nom_lisp " loaded/charge "))
   (princ (strcat "\n" nom_lisp ".LSP Loaded/Charge... " nom_lisp " to run/pour l executer. ")))
 (princ   (strcat "\n" nom_lisp ".LSP Loaded/Charge... " nom_lisp " to run/pour l executer. ")))
(setq nom_lisp nil)
(princ) 

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Salut Sepultur@,

Peux-tu mettre ton fichier en partage ailleurs que sur Google Drive, où on ne soit pas obligé de se loguer et demander une autorisation?

 

Steven________________________________________

Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.

Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD.

En rêve; AutoCAD sous Linux.

Lien vers le commentaire
Partager sur d’autres sites

hello

pour la rposiion du bloc t'as ce lisp

;;;=================================================================
;;;
;;; RINS.LSP V3.20
;;;
;;; Redéfinir le point d'insertion des blocs
;;;
;;; Copyright (C) Patrick_35
;;;
;;;=================================================================

(defun c:rins(/ *errins* att bl dec deh doc ech ent js n nom nom_bl lst1 lst2 pt rep rota s uni)

 (defun *errins* (msg)
   (or (member (strcase msg) '("FUNCTION CANCELLED" ""QUIT / EXIT ABORT"" "FONCTION ANNULEE" "QUITTER / SORTIR ABANDON"))
     (princ (strcat "\nErreur : " msg))
   )
   (vla-endundomark doc)
   (setq *error* s)
   (princ)
 )

 (defun rota(pt bas rot / lay lck po)
   (setq lay (vla-item (vla-get-layers doc) (getvar "clayer")))
   (and (eq (vla-get-lock lay) :vlax-true)
     (setq lck T)
     (vla-put-lock lay :vlax-false)
   )
   (setq po (vla-addpoint (if (eq (getvar "cvport") 1)
		     (vla-get-paperspace doc)
		     (vla-get-modelspace doc)
		   )
		   (vlax-3d-point pt)
     )
   )
   (vla-rotate po (vlax-3d-point bas) rot)
   (setq pt (vlax-get po 'coordinates))
   (vla-delete po)
   (and lck (vla-put-lock lay :vlax-true))
   pt
 )

 (defun nom_bl(bl)
   (if (vlax-property-available-p bl 'effectivename)
     (vla-get-effectivename bl)
     (vla-get-name bl)
   )
 )

 (vl-load-com)
 (setq doc (vla-get-activedocument (vlax-get-acad-object))
s *error*
*error* *errou*
 )
 (vla-startundomark doc)
 (if (ssget (list (cons 0 "INSERT")))
   (progn
     (vlax-for bl (setq js (vla-get-activeselectionset doc))
(or (member (setq nom (nom_bl bl)) lst2)
  (setq lst1 (cons bl lst1)
	lst2 (cons nom lst2)
  )
)
     )
     (vla-delete js)
     (initget "Oui Non _Yes _No")
     (setq rep (getkword "\nDésirez-vous conserver l'emplacement actuel des blocs <O> : "))
     (or rep
(setq rep "Oui")
     )
     (foreach ent (reverse lst1)
(vla-highlight ent :vlax-true)
(while (not (setq pt (getpoint "\nVeuillez sélectionner son nouveau point de base : "))))
(vla-highlight ent :vlax-false)
(setq bl  (vla-item (vla-get-blocks doc) (setq nom (nom_bl ent)))
      dec (mapcar '- (rota (trans pt 1 0) (vlax-get ent 'insertionpoint) (- (vlax-get ent 'rotation))) (vlax-get ent 'insertionpoint))
)
(if (< (vlax-get ent 'xscalefactor) 0)
  (setq dec (list (- (car dec)) (cadr dec) (caddr dec)) dea dec)
)
(setq deh (mapcar '/ dec (list (abs (vlax-get ent 'xscalefactor)) (abs (vlax-get ent 'yscalefactor)) (abs (vlax-get ent 'zscalefactor)))))
(vlax-put bl 'origin (mapcar '+ (vlax-get bl 'origin) deh))
(if (ssget "x" (list (cons 0 "INSERT") (cons 2 (strcat nom ",`**"))))
  (progn
    (vlax-for ent (setq js (vla-get-activeselectionset doc))
      (and (eq rep "Oui") (eq (strcase (nom_bl ent)) (strcase nom))
	(progn
	  (setq att (mapcar '(lambda(x) (cons (vlax-get x 'insertionpoint) x)) (vlax-invoke ent 'getattributes))
		ech (list (vlax-get ent 'xscalefactor)
			  (vlax-get ent 'yscalefactor)
			  (vlax-get ent 'zscalefactor)
		    )	
		dec (mapcar '*	(rota deh '(0.0 0.0 0.0) (vlax-get ent 'rotation))
				(list (vlax-get ent 'xscalefactor)
				      (vlax-get ent 'yscalefactor)
				      (vlax-get ent 'zscalefactor)
				)
		    )
	  )
	  (vla-move ent (vlax-3d-point '(0.0 0.0 0.0)) (vlax-3d-point dec))
	  (and att (mapcar '(lambda(x)(vlax-invoke (cdr x) 'move (vlax-get (cdr x) 'insertionpoint) (car x))) att))
	)
      )
    )
    (vla-delete js)
    (princ (strcat "\nModification du point de base pour le bloc \"" nom "\" effectué."))
  )
)
     )
   )
   (princ "\nPas de bloc de sélectionné.")
 )
 (vla-endundomark doc)
 (setq *error* s)
 (princ)
)

(setq nom_lisp "RINS")
(if (/= app nil)
 (if (= (strcase (substr app (1+ (- (strlen app) (strlen nom_lisp))) (strlen nom_lisp))) nom_lisp)
   (princ (strcat "..." nom_lisp " chargé."))
   (princ (strcat "\n" nom_lisp ".LSP Chargé.....Tapez " nom_lisp " pour l'éxecuter.")))
 (princ (strcat "\n" nom_lisp ".LSP Chargé......Tapez " nom_lisp " pour l'éxecuter.")))
(setq nom_lisp nil)
(princ)

 

comme Didier l'a dit t'aurais tu tremper dans le truc dès le départ pour figer ces histoires dans le cahier des charges.

les gens qui ne travaillent pas correctetment sous AutoCAD sont légions (en fait, tout ceux qui ne fréquentent pas ce forum j'ai envie de dire!! :P )

++

Phil

Projeteur Revit Indépendant - traitement des eaux/CVC

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

en fait, tout ceux qui ne fréquentent pas ce forum j'ai envie de dire!!

Je ne pense pas que nous soyons une secte de bons pratiquants ce serait quelque peu égocentrique de penser ainsi

Les "gens", en général ne pensent pas "fichier informatique" du moment qu'à l’imprimante c'est bon ça suffit

Peu importe que les objets soient des blocs et pire encore que ces blocs soient dans le calque 0 (zéro) on s'en tape

Le PDF est propre donc c'est bon.

Quoi ? le SCU n'est pas correct ? c'est quoi un SCU ?

Peu importe qu'on ne puisse pas faire une 3D de leur fichier c'est pas eux qui en ont la charge, alors "on" ne veut pas se faire caguer pour un autre...

C'est comme l'orthographe dans les messages, c'est du même acabit, je ne VEUX pas faire l'effort de me relire celui qui me lira les fera les efforts, lui.

Je sais pourquoi je me fais rare sur le forum, c'est que depuis le temps qu'on crie dans le désert l'herbe ne donne aucun de signe de repousse.

Lien vers le commentaire
Partager sur d’autres sites

Salut.

 

en fait, tout ceux qui ne fréquentent pas ce forum j'ai envie de dire!!

Je ne pense pas que nous soyons une secte de bons pratiquants

 

Je suis plutôt de l'avis de philsogood, mais pas dans le sens que nous serions les bons et que les mauvais seraient les autres, même si je ne sais pas dans quelle sens ça à voulu être dit.

 

En général les rats de forum sont des passionnés, et les visiteurs, mêmes occasionnels, cherchent au moins à résoudre leur problème avant de chercher à le contourner. C'est beaucoup plus dans ce sens là que je l'entend : y'a ceux qui cherchent à bien faire leur boulot, et qui donc prennent la peine de s'informer, de se former ou de se reformer selon l'enseignement ou l'absence d’enseignement qu'ils ont eus... et y'a ceux qui restent sur leurs acquis, bons ou mauvais, suffisent ou pas.

 

En ce sens, oui, nous autres rats de forum ainsi que nos visiteurs et simple lecteurs fournissons fatalement un meilleur résultat que ceux qui font juste ce qu'il faut pour que "ça passe", ceci étant valable aussi sur le forum de todesk ou sur des forums plus orientés métier.

 

Je pense plutôt que c'est une tendance dû en partie à des trop grandes structures. "Mon patron ? Jamais vue. Qu'est-ce que ce peut lui faire si je fait que le strict minimum ? Il fait pareille avec ma fiche de paye et mon bien-être au travail."

 

Et puis y'a aussi, et c'est à mon avis non négligeable, que chercher une solution prend du temps, parfois beaucoup de temps. Si je ne passait pas mon temps à améliorer ma méthode et à refaire mes blocs obsolètes, plus récemment à coder, je ne travaillerais que 12h par semaines. Beaucoup ne doivent même pas avoir le temps de traîner sur les forums et de prendre une ou deux heures en plus pour bien faire alors qu'il ont déjà du retard et une autre pille de dossier en attente, même si au final ce temps passé est très bien amorti en quelques jours ou quelques semaines.

 

Sans oublier que plus la structure est grande et plus il est compliqué de modifier, même légèrement, sa propre méthode de travail. La bibliothèque de bloc est pourrie ? Bha oui mais c'est la même pour tout le monde, faut déposer un dossier en trois exemplaires pour justifier une modification.

 

Bref, c'est simplement un symptôme de la tendance court-termite générale, mais si je continue mon développement anti-capitaliste on n'est pas couchés...

 

Cordialy.

Je suis dysorthographique alors lâchez-moi les basques avec ça, je fait déjà de mon mieux.
Membre d'Extinction Rebellion, car pour sauver le monde il n'est jamais trop tard, amour et rage !
Pour écrire un vraie point médian (e·x·e·m·p·l·e) [Alt + 0183] ou ajout d'un raccourci clavier personnalisé (ex. [AltGr + ;])

Utilisateur d'AutoCAD 2021 sous Windows 10

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

Tu as le droit de le penser, libre à toi

Mais si c'était vrai : depuis 2002 que CadXP existe les choses auraient dû évoluer, les gens formés en auraient formés d'autres

La réalité ? la vraie, celle qu'on constate tous les jours : on s'en fout et on demande un lisp...

Lien vers le commentaire
Partager sur d’autres sites

Et pourtant c'est tellement plus facile à vivre de faire juste à la première tentative...

 

Pour ma part je pense que le "problème" vient des sociétés, des gens, qui ne retravaillent pas sur leur plan informatique une fois qu'il est livré, sinon ils se rendraient compte (on peut toujours espérer) de leurs erreurs et les corrigeraient... peut-être !

 

Sinon Didier tout à fait d'accord avec toi pour les fautes d'orthographe : chers utilisateurs je comprends tout à fait et n'accable absolument pas les personnes ayant des difficultés à écrire sans fautes, mais mettez-vous à notre place ! Pour ma part lire un texte truffé de fautes est très difficile car je ne parviens pas toujours à saisir le sens de la pensée énoncée et il faut que je m' y reprenne à plusieurs fois voir carrément demander à quelqu'un de traduire (non non je n'exagère et ne rigole pas malheureusement). Alors faites au moins l'effort de vous relire une fois avant de poster vos messages. Merci ! :)

 

Bonne journée,

COME

 

La vie sans musique est tout simplement une erreur, une fatigue, un exil. »

Friedrich Nietzsche

Lien vers le commentaire
Partager sur d’autres sites

En faite je ne voie pas pourquoi on serait en opposition. Tu dit que y'a du jemenfoutisme, et je dit que ça a en partie une origine systémique, ou plutôt que le système va amplifier et étendre le phénomène.

 

A mon avis, plus une structure est grande et plus faible est la part de ses employés qui vont fureter sur des forum. De plus, ce qui le font vont, dans l'ensemble, plus monter en grade, donc avoir plus de responsabilités, moins de temps à consacrer à de plus en plus de subalternes. Même dans une petite structure le dessinateur qui devient cadre aura moins de temps à consacrer à la formation de ses collègues.

 

Je me suis par exemple retrouvé avec des plans très bien faits... sauf quelques rectification qui ont du êtres confiées à quelqu'un d'autre et qui étaient toutes en calque 0 et couleurs forcées. Je pense que ce n'est pas toujours une question de compétence mais beaucoup de transmission des compétences. On en revient à la formation, dont le standard, ou du moins le commun, est largement insuffisante semble-t-il.

 

Mais bien sur la première donnée est l'implication dans le travail, implication qui si elle est faible va aussi faire considérer comme une perte de temps de bien rédiger ses postes, ou de bien suivre la précédemment citée formation.

 

Je ne sais pas si je doit le prendre personnellement, mais je relit toujours au moins deux fois mes postes : une fois ou plus avant de les publier et une autre après publication, par sécurité. Les fautes qu'il reste... je peut pas y faire grand choses, mais je comprend très bien la difficulté pour les lecteurs. Personnellement je bloque toujours quant je lit l'une des rare faute que je ne fait (presque) jamais, la confusion entre le participe passé qui s'écrit "é" et le radical qui s'écrit "er" (dans une moindre mesure à-a ou et-est)

 

Cordialy.

  • Upvote 1

Je suis dysorthographique alors lâchez-moi les basques avec ça, je fait déjà de mon mieux.
Membre d'Extinction Rebellion, car pour sauver le monde il n'est jamais trop tard, amour et rage !
Pour écrire un vraie point médian (e·x·e·m·p·l·e) [Alt + 0183] ou ajout d'un raccourci clavier personnalisé (ex. [AltGr + ;])

Utilisateur d'AutoCAD 2021 sous Windows 10

Lien vers le commentaire
Partager sur d’autres sites

Je... Je...

 

Que me vaut cette réaction de stupeur ?

Je suis dysorthographique alors lâchez-moi les basques avec ça, je fait déjà de mon mieux.
Membre d'Extinction Rebellion, car pour sauver le monde il n'est jamais trop tard, amour et rage !
Pour écrire un vraie point médian (e·x·e·m·p·l·e) [Alt + 0183] ou ajout d'un raccourci clavier personnalisé (ex. [AltGr + ;])

Utilisateur d'AutoCAD 2021 sous Windows 10

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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é