Aller au contenu

Messages recommandés

Posté(e)

Bonjour

 

Juste une question de choix : on peut modifier les objets d'un bloc XRef mais les modification ne seront pas enregistrées dans le dessin (ok?).

Donc, pour une commande qui rend la chose possible, il paraît logique d'empêcher les modifs uniquement pour les blocs XRef ..

 

Vous êtes d'accord avec ça ?

Posté(e)

Hello

 

Je suis un vieux decapode de 55 ans

et malheureusement je n'ai rien compris au sujet !

 

Sans doute que les jeunes sauront repondre ...

 

lecrabe

Autodesk Expert Elite Team

Posté(e)

hello

 

loll il a mangé trop de chocolat

 

tu parles de blocs ou tu parles d'XREF ?

 

a+

 

phil

FREELANCE

Autodesk Architecture 2025 sous windows 11 64

REVIT

24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal

Posté(e)
Si on ouvre un Xref à partir d'un plan ou il est inséré et qu'on lui apporte des modifications en enregistrant à la fin, les modifications sont apportés au fichier Xref.

 

Oui avec _refedit en effet, j'avais oublié ça.

A la base je parlais d'une commande Lisp qui permet d'accéder aux sous-objets (avec nentselp) et de les modifier à la volée, dans ce cas les modifs ne sont pas enregistrées.

 

Donc il suffit d'interdire les modifs des objets imbriqués dans une XRef d'après le dernier argument de nentselp (chaîne d'imbrication).

 

Merci et désolé si pas clair ..

 

 

@philphil : je parlais des 2, mais la modif de bloc à la volée peut être pratique, alors que celle d'un bloc de XRef paraît inutile.

Posté(e)

coucou

 

je me sens bien proche du décapode !!

dire que je n'ai pas tout compris est un doux euphémisme ...

 

changer des objets dans une Xref sans que la modification soit enregistrée

c'est comme sortir de l'argent de son compte sans qu'il soit débité

je veux bien un lisp qui va dans ce sens...

 

amicalement

Posté(e)
A la base je parlais d'une commande Lisp qui permet d'accéder aux sous-objets (avec nentselp) et de les modifier à la volée

 

Si (nentselp) effectivement permet d'ACCEDER aux informations de définitions des sous-objets en aucun cas elle ne permet de les MODIFIER par (entmod) pour des Xrefs.

 

Pour moi ce que tu veux faire n'est pas possible. La fonction la plus proche serait NCOPY des Exprestools, qui elle effectivement récupère les informations imbriquées MAIS recrée par (entmake) celle ci dans le dessin courant.

 

On pourrait (mais je vois pas trop l'intérêt! car disparaîtrait au 1er rafraîchissement de l'écran) utiliser (grdraw) ou (grvecs) pour redessiner virtuellement ces sous-entités d'après les infos retourné, et éventuellement modifiées, de (nentsel) ou (nentselp)

 

Voilà pour le distinguo...

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

Ah, merci Bonuscad, il faut donc bloquer cette opération pour les XRef.

 

 

J'avais fait un exemple tout bête (face à l'incompréhension générale), un code qui passe une entité en rouge :

 

(defun c:go (/ in)
   (setq in (entget (car (nentselp))))
   (entmod (subst (cons 62 1) (assoc 62 in) in))
)

 

Je l'applique sur une entité de XRef (par exemple un cercle). A la base il doit avoir une couleur (par exemple vert) afin qu'il comporte un code 62.

 

Je tape Go, je sélectionne le cercle, je Regen : le cercle passe en rouge.

J'enregistre, je ferme, je ré-ouvre : le cercle est vert ..

 

 

En fait je ne veux pas spécialement l'appliquer aux XRefs, c'était juste pour confirmer qu'il y a un hiatus avec ces objets en particulier.

Posté(e)

J'aurais tout de même une autre question : peut on référencer de façon stable une entité de XRef ? Juste la référencer, pas la modifier.

 

C'est pour un outil qui gère les Champs d'objets, et avec les XRefs c'est le même problème : les objets sont 'refabriqués' à chaque ouverture, ce qui fait que la référence est perdue.

 

Si quelqu'un a une idée là dessus ..

Posté(e)

Bonjour krunch,

 

Je tape Go, je sélectionne le cercle, je Regen : le cercle passe en rouge.

J'enregistre, je ferme, je ré-ouvre : le cercle est vert ..

Pour bien comprendre ce qui se passe je te propose la démonstration inverse de l’exemple que tu as proposé c.a.d ouvre ton fichier servant d’Xref, lance ta routine passe le cercle en rouge et enregistre, va dans ton fichier dans lequel est chargé l’Xref la modif ne sera répercuté seulement si tu recharge ton Xref ou que tu quittes puis relance ton fichier ce qui rechargera l’Xref modifiée.

 

En fait je ne veux pas spécialement l'appliquer aux XRefs, c'était juste pour confirmer qu'il y a un hiatus avec ces objets en particulier.

Donc comme tu le vois point de hiatus dans tout cela lorsque tu ouvres un fichier contenant une Xref cette dernière est chargé en mémoire dans ton dessin (comme un fichier tampon) dans ton exemple tu accède à l’entité du fichier tampon (un double de l’entité d’origine) et c’est cette dernière que tu modifie mais à aucun moment tu n’as modifié l’entité présente dans le fichier source.

 

A+

Apprendre => Prendre => Rendre

Posté(e)

Re,

 

J'aurais tout de même une autre question : peut on référencer de façon stable une entité de XRef ? Juste la référencer, pas la modifier.

 

Oui je le pense en testant rapidement, si tu lances l’expression suivante :

(entget (car (nentselp)))

 

Dans ton fichier servant d’Xref et celui dans le quelle il est insérer les noms de maintien (handle) semble respecté code 5 en dxf par ce biais tu dois donc pouvoir arriver à quelque chose..

 

Cordialement,

Apprendre => Prendre => Rendre

Posté(e)

Ok merci Bruno.

 

Mais en fait pour ma dernière question il s'agit de d'attacher un entname (ou éventuellement un ID) dans un objet champ.

Et à priori (?), en admettant que je retrouve le entname du fichier source depuis le handle, ça m'étonnerait que le champ fonctionne avec une entité d'un autre fichier ..

Posté(e)

Salut

 

Dans ton fichier servant d’Xref et celui dans le quelle il est insérer les noms de maintien (handle) semble respecté code 5 en dxf par ce biais tu dois donc pouvoir arriver à quelque chose..

Je confirme ce qu'indique VDH-Bruno, il faut utiliser le numéro de maintien et pour retrouver à quel objet il appartient, tu as la fonction lisp handent

 

@+

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

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é