CADxp: Handle autocad - CADxp

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Handle autocad bloc import export

#1 L'utilisateur est hors-ligne   dc01 

  • ceinture blanche
  • Groupe : Membres
  • Messages : 4
  • Inscrit(e) : 01-avril 19

Posté 08 avril 2019 - 15:15

bonjour a tous,
bravo pour les programmes ou aides que vous communiqués a tous, c'est super sympas et très formateur
ce qui ne fait pour autant de nous des programmeurs encore aguerris. Grr..

comme Autocad et sa programmation me passionne, je me rappel d'un vieux PROGRAMME EN C sur la version 12 qui gérais la gravité,
l'éclate TOTALE, SNIF il n y a plus sur les nouvelles version ce type de jouet programmable.

Bon je me mets a la programmation doucement et j'essaye de percuter les script, lisps
qui se ballade un peu partout.

bon j'ai vue que l'on pouvais zoomer sur un HANDLE COOoool Géniale cette commande

(handent "<Votre maintien>")
(handent "1f7") par exemple

Problème Ma planche autocad possède d’innombrable bloc 1000 à 5000 blocS,
j'ai un fichier XLS que je dois importer dans Autocad pour gérer leurs attributs,
bon jusque là je me débrouillerais

Par contre serait il possible dans autocad de lancer une commande en LISPS car ce langage m'éclate beaucoup
petit programme qui me lancerais une fenêtre pour zoomer sur le fameux handle que je choisirais dans une liste?
UNE FOIS CES HANDLE IMPORTER OU EXPORTER D'AILLEURS?
si le lisps peu rechercher tous les handle qui l'a dans sa mémoire une fois les blocs posé sur la planche bien sur
SE SERAIT ENORMISSIME.

Une fois zoomer sur le bloc qui se réfère aux handle je pourrais LA:
faire ce que je veux avec le bloc et le renommer par exemple, ect..

cela m'évitera ce sans cesse aller retour excel AutoCAD

Pour mieux comprendre imaginé une carte électronique immense et il faut que je puisse zoomer rapidosse d'un lieu de la carte
ou est le composant qui se retrouve référencé dans un fichier EXCEL,
créer des vues nommé serait un enfer si mêmes trés pratique pour du zonage a grand échelle.

En faite ce qui est embêtant c'est que des centaines de bloc porte le même nom seul leur Handle les différencies au départ
j'aurais pus sélectionner les blocs avec zoom objets mais niche possible avec des blocs multiples au mêmes nom, il faut le sélectionner.

merci bcp pour votre aide
0

#2 L'utilisateur est hors-ligne   didier 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8411
  • Inscrit(e) : 18-décembre 02
  • LocationPlanète : Terre

Posté 08 avril 2019 - 16:05

Coucou

Bienvenue sur CadXP

Certes le handle peut être utile mais si les coordonnées d'insertion ne varient pas ça peut aussi être une piste de recherche dans une colonne cachée d'Excel.
Essaie de faire passer une exemple (léger) de fichier qu'on comprenne.
Je me permets de redonner le conseil rituel aux débutants : ne mets pas la barre trop haut, apprends à marcher avant de vouloir courir.

Amicalement

Éternel débutant ...
Programmer AutoCAD
0

#3 L'utilisateur est hors-ligne   bonuscad 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 4688
  • Inscrit(e) : 20-juin 03

Posté 08 avril 2019 - 16:38

Bonjour,

Pour une fois je vais contredire Didier.
Pour moi la méthode qui utilise les handles est excellente. Aucun risque d'erreur possible pour faire une liaison avec un fichier externe quel qu'il soit. Dans Autocad faire une sélection d'objet grâce a son handle est aussi très fiable, aucun risque de sélectionner un autre objet proche ou surperposé les sélections peuvent se faire hors zone graphique, ce qui n'est pas le cas avec des coordonnées fournies quand on passe par (ssget) avec un point ou liste de points...
J'ai récemment écrit un code qui faisait une liaison entre excel et des handles d'entité. Il en faudrait peu pour l'adapter à ton souhait si tu fournis un exemple (peut être juste un extrait) de ton DWG et XLS

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

#4 L'utilisateur est hors-ligne   didier 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8411
  • Inscrit(e) : 18-décembre 02
  • LocationPlanète : Terre

Posté 08 avril 2019 - 17:47

Coucou

Je ne crains pas la contradiction et ce que tu écris est fondé et parfaitement juste.
Je pensais juste "faciliter" la chose avec les coordonnées qui permettent de se situer dans le dessin, le handent étant plus "muet" à ce sujet
En me relisant je viens ici faire mon mea culpa car effectivement le handent permet de faire ce qui est demandé et avec moins de données à exporter qui plus est

Par contre je ne comprends pas encore comment sélectionner le bloc dans l'esprit de dc 01, en cliquant dans Excel ?

Amicalement

Éternel débutant ...
Programmer AutoCAD
0

#5 L'utilisateur est hors-ligne   Olivier Eckmann 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1313
  • Inscrit(e) : 29-décembre 11
  • LocationLongjumeau (91)

Posté 08 avril 2019 - 20:54

Bonjour,

La question principale c'est de savoir si le clic se fait dans Excel ou dans une liste affichée dans AutoCAD.
Le plus simple c'est évidemment la liste dans AutoCAD, mais afficher une liste de 1000 handle nécessite un passage par le DCL et ce n'est pas simple de s'y retrouver (dans le DCL et dans la liste!).
Si on doit pouvoir cliquer dans Excel et zoomer dans AutoCAD, ça nécessite une liaison entre les 2 logiciels et en Lisp, ça ne sera pas forcément simple non plus.


Olivier
0

#6 L'utilisateur est hors-ligne   dc01 

  • ceinture blanche
  • Groupe : Membres
  • Messages : 4
  • Inscrit(e) : 01-avril 19

Posté 09 avril 2019 - 05:59

merci pour vos prompts réponse, les coordonnées Euh! bof non aucun intérêt pour moi,
surtout que le point d'insertion d'un bloc qui sont les coordonnées reprise exporter dans excel ne sont en rien une valeur fiable puisque l'on peu le coller n'importe ou ce point.

une fois le fichier excel, importer dans autocad avec tous ces attributs, j'aimerais beaucoup pouvoir si c'est possible,
avoir la liste des handle, car je me rends compte que les noms de blocs n'ont aucun intérêt,
je peux avoir 50 types de blocs placés partout, CTRL+2 aucun intérêt je vois 70 blocs ok
mais j'en ai 2500 sur le plan
Seul le ZOOM sur handle est intéressant, jouer avec la roulette pour trouver un mini bloc je vais perdre un temps de fou.
surtout si le djob est de vérifier les blocs voir les modifier.

Je me demandais donc,
Si autocad est capable d'identifier les blocs via des HANDLE comme des ID pour pouvoir les exporter en TXT, xls ect..
donc ne serait il pas possible sous autocad de lancer un lisps qui pourrait faire le ROLE de la boite de dialogue
inserer bloc OU du CTRL +2 qui scrutent ces fameux handle
pour avoir le choix dans une boite de dialogue sur celui que je veux sélectionner pour zoomer dessus directement
mais pas grace a sa tronche, ni a sa nom
mais VIA son ID donc le HANDLE

Pour qu'autocad puisse gérer des milliers d'éléments il mets des ID partout qu'il cache soigneusement,
ensuite il place des coordonnées Obligatoire mais qui n'ont dans mon cas aucun intéret,
puis un nom mais le plus important c'est ce fameux HANDLE.

J'ai vus que l'on pouvais afficher une boite de dialogue type Microsoft sous autocad via le vba ou le lisps,
salut bienvenue, clic ok ou annuler
on peu pas avoir une liste déroulante avec les noms "handle" stocker dans le DWG pour cliquer sur un nom
une fois cette sélection je pourrais taper la commande cité plus haut,
les plus aguerris d'entre vous peuvent je pensent arriver a lancer la commande cité plus haut directement a la sélection
du handle dans la liste.

Bon on en est pas la mais je dirais que la je risque de vous donner du file a retordre,
si je vous dis maintenant est ce que l'on peu forcer les handle ? a porter un numéros plus qu'un autre ?
des exemples protection des droits NICHE POSSIBLE
EX fait un bloc nommer toto avec 1 attribut si vous voulez, copier coller deux trois fois Export/import via excel
vous verrez que ce bloc porte un nom identique oui, mais surtout un IDentifiant,
DONC pour finir
QUESTION a UN millions comment vous faite pour zoomer sur un élément que vous ne voyer pas donc que vous ne pouvez
pas sélectionner ou identique ou par exemple si un bloc est au pole sud et un autre au pole nord mais qui porte
le même nom car vous ne les voyez pas. le zoom objet sur sélection est ok mais j'ai deux blocs

dans mon cas au moins 50 types qui portent le mêems nom mais ils ont tous des Handle différent

En faite pour répondre a didier, j'ai toujours appris trés vite et comme pour faire du vélo on a pas besoin de dire a
quelqu'un qu'il faut qu'il mette une selle sinon ça fait mal au Cul...
j'utilise autocad et ces concurrents ou fréro depuis qu'ils existent, comme je me mets a la programmation un chouille

J'aime bien avoir de bonnes base et le Handle pour moi est Mega important apparemment pour le BLOC
comme les coordonnées X Y Z d'un premier point dans l'espace pour d'autre qui ne sont pas des blocs RAPPEL didier

Je fait appel a votre expérience a mon avis ils faut trés peu de ligne de code,
mais l’intérêt est Gigantesque

cordialement
0

#7 L'utilisateur est hors-ligne   didier 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8411
  • Inscrit(e) : 18-décembre 02
  • LocationPlanète : Terre

Posté 09 avril 2019 - 08:20

Coucou

Ton message est bien long et perso j'ai tendance à perdre le fil des explications, essaie la concision.

Tu as l'air de faire une fixette sur le handle, je présente à nouveau mes excuses pour avoir parlé de coordonnées car le handle est plus simple et précis
Qu'est-ce tu attends de nous exactement ?
Une aide pour faire un lisp, pour ça fais passer le code que tu as déjà écrit on verra le niveau et on pourra te guider efficacement
Je ne voudrais t'envoyer sur un coussin à l'hôpital ayant "oublié" de vérifier la présence de la selle avant de monter sur le vélo...
Est-ce que si on te donne moyen de faire un fichier Excel avec dans une colonne le handle du bloc et dans les colonnes mitoyennes les attributs est un début ?
Ce début tu l'as ? tu sais le faire ? tu aimerais le recevoir ?

Amicalement


Éternel débutant ...
Programmer AutoCAD
0

#8 L'utilisateur est hors-ligne   didier 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8411
  • Inscrit(e) : 18-décembre 02
  • LocationPlanète : Terre

Posté 09 avril 2019 - 08:24

Coucou

Pour ce qui est FORCER un handle je ne pense pas que ce soit possible

Amicalement

Éternel débutant ...
Programmer AutoCAD
0

#9 L'utilisateur est hors-ligne   bonuscad 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 4688
  • Inscrit(e) : 20-juin 03

Posté 09 avril 2019 - 09:21

Bonjour,Ton post est plus de ta réflexion sur le sujet que d'explications claires et précises de ce que tu veux faire.

Comment ton fichier excel est tenu à jour pour mettre en corrélation les handles? Ou alors ton dessin est figé, tu ne bosse plus dessus (rajout de blocs/modifications d'objets) !
Y a des choses qui m'échappent...

Cependant un petit exemple de code s'appuyant sur (listbox) créé par (gile), celui doit fonctionner dans n'importe quel dessin existant.
Il permet de zoomer sur une entité en sélectionnant son handle dans la liste.

; str2lst
;; Transforme un chaine avec séparateur en liste de chaines
;;
;; Arguments
;; str : la chaine à transformer en liste
;; sep : le séparateur
;;
;; Exemples
;; (str2lst "a b c" " ") -> ("a" "b" "c")
;; (str2lst "1,2,3" ",") -> ("1" "2" "3")
(defun str2lst (str sep / pos)
  (if (setq pos (vl-string-search sep str))
	(cons (substr str 1 pos)
  	(str2lst (substr str (+ (strlen sep) pos 1)) sep)
	)
	(list str)
  )
)
;; ListBox (gile)
;; Boite de dialogue permettant un ou plusieurs choix dans une liste
;;
;; Arguments
;; title : le titre de la boite de dialogue (chaîne)
;; msg ; message (chaîne), "" ou nil pour aucun
;; keylab : une liste d'association du type ((key1 . label1) (key2 . label2) ...)
;; flag : 0 = liste déroulante
;; 1 = liste choix unique
;; 2 = liste choix multipes
;;
;; Retour : la clé de l'option (flag = 0 ou 1) ou la liste des clés des options (flag = 2)
;;
;; Exemple d'utilisation
;; (listbox "Présentation" "Choisir une présentation" (mapcar 'cons (layoutlist) (layoutlist)) 1)

(defun ListBox (title msg keylab flag / tmp file dcl_id choice)
(setq tmp (vl-filename-mktemp "tmp.dcl")
file (open tmp "w")
)
(write-line
(strcat "ListBox:dialog{label=\"" title "\";")
file
)
(if (and msg (/= msg ""))
(write-line (strcat ":text{label=\"" msg "\";}") file)
)
(write-line
(cond
((= 0 flag) "spacer;:popup_list{key=\"lst\";")
((= 1 flag) "spacer;:list_box{key=\"lst\";")
(T "spacer;:list_box{key=\"lst\";multiple_select=true;")
)
file
)
(write-line "}spacer;ok_cancel;}" file)
(close file)
(setq dcl_id (load_dialog tmp))
(if (not (new_dialog "ListBox" dcl_id))
(exit)
)
(start_list "lst")
(mapcar 'add_list (mapcar 'cdr keylab))
(end_list)
(action_tile
"accept"
"(or (= (get_tile \"lst\") \"\")
(if (= 2 flag) (progn
(foreach n (str2lst (get_tile \"lst\") \" \")
(setq choice (cons (nth (atoi n) (mapcar 'car keylab)) choice)))
(setq choice (reverse choice)))
(setq choice (nth (atoi (get_tile \"lst\")) (mapcar 'car keylab)))))
(done_dialog)"
)
(start_dialog)
(unload_dialog dcl_id)
(vl-file-delete tmp)
choice
)
(defun c:zoombyhandle ( / js n hdt l_hdt)
  (setq js (ssget "_X"))
  (cond
	(js
  	(setq l_hdt nil)
  	(repeat (setq n (sslength js))
    	(setq hdt
      	(cdr
        	(assoc 5
          	(entget
            	(ssname js (setq n (1- n)))
          	)
        	)
      	)
    	)
    	(if hdt (setq l_hdt (cons hdt l_hdt)))
  	)
  	(command "_zoom" "_object" (cdar (entget (handent (listbox "HANDLES du dessin" "Choisir UN handle" (mapcar 'cons l_hdt l_hdt) 1)))) "")
	)
  )
  (prin1)
)

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

#10 L'utilisateur est en ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 11277
  • Inscrit(e) : 02-septembre 05

Posté 09 avril 2019 - 13:19

Salut,

Je crains que le manque de clarté dans l'exposé de la demande ne provienne, en partie du moins, d'une certaine incompréhension de ce que sont les blocs AutoCAD et les Handles.

Le terme "bloc" prête quelque peu à confusion car il recouvre deux concepts.
La définition de bloc qui est un objet non graphique stocké dans la table des blocs. Une définition de bloc a un nom unique dans la table des blocs du dessin (ce nom sert de clé pour le retrouver), c'est une collection d'entités graphiques.
Les références de bloc sont des entités graphiques insérées dans l'espace objet, l'espace papier (ou dans une définition de bloc). Une référence de bloc insérée dans le dessin n'est qu'une représentation de la définition du bloc qui a pu subir des transformations géométriques (déplacement, rotations, mises à l'échelle) mais qui contient affiche toujours les mêmes entités : celles contenu dans la définition du bloc. De même, le "nom" d'une référence de bloc n'est en fait que le reflet de celui de sa définition.

En résumé, on ne peut modifier ni le nom, ni les entités d'une référence de bloc, par contre, modifier le nom ou les entités d'une définition de bloc affectera toutes les références insérées.

Les choses sont différentes pour les "attributs" de bloc.
Là encore, on va retrouver des définitions d'attributs contenues dans la définition de bloc. Il s'agit d'entité textuelles qui servent de modèle (gabarit) pour la créations des références d'attribut. Les références d'attributs sont ajoutées aux références de bloc lors de leur insertion. Elles sont liées à la référence de bloc, mais contrairement aux autres entités graphiques simplement représentées dans la référence de bloc, elles ont leur existence propre, ce qui permet de les modifier (valeur du texte et position si pas verrouillée).

En résumé, on peut modifier des références d'attributs indépendamment dans différentes références de bloc. Modifier, ajouter ou supprimer une définition d'attribut dans une définition de bloc n'affectera pas les références déjà insérées à moins de faire une synchronisation d'attributs (ATTSYNC).

Les Handles (ou mainitens) sont des identifiants uniques dans la base données du dessin. Ils sont attribués par AutoCAD à tous les objets graphiques (arc, ligne, référence de bloc, ...) on non graphique (calque, table des blocs, définition de bloc, ...) lors de leur création. Ils sont donc immuables* et pérennes (chaque objet conserve le même Handle pendant toute l'existence du dessin).

En résumé, on ne peut pas modifier le Handle d'un objet existant dans un dessin. On peut le stocker dans un fichier externe afin de retrouver l'objet lors d'une prochaine ouverture de ce dessin (s'il n'a pas été effacé).


* Certains environnements de programmations comme .NET ou ObjectARX permettent toutefois de substituer un nouvel objet à celui auquel était affecté le handle celui-ci étant supprimé de la base données.
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#11 L'utilisateur est hors-ligne   dc01 

  • ceinture blanche
  • Groupe : Membres
  • Messages : 4
  • Inscrit(e) : 01-avril 19

Posté 09 avril 2019 - 15:34

merci beaucoup pour vos réponses, c'est super sympas <_< classe ce forume et les participants

je vais regarder Un le programme ci joint deux les explications du mastro Gile..

je veux juste récupérer la liste des handle qui sont les entêtes de mes blocs
j'ai le handle le blockname ect..
le blockname ne m'aide pas car je peux en avoir 2500 identique

par contre le Handle est COooool
ils sont tous différents.

J'aimerais pouvoir ZOOMER dessus après les avoir tous sous les yeux au lieu
d'aller dans excel choisir celui que je veux,
retourner dans AutoCAD et taper la commande joint tout en hait dans le post.

donc quand je suis dans autocad mon plan fait, j'aimerais S'il vous plait avoir un moyen
de zoomer objet sur une selection, avec si possible une boite de dialogue avec ces fameux
Handle entête de bloc, que je pourrais faire défiler et sélectionner ça serait géniale
Une sélection me suffirait

voila

je vais décortiquer Ce programme, a quand même il y a de la ligne
moi qui pensait en deux trois ligne.

merci encore, je vous tiens au courant
0

#12 L'utilisateur est hors-ligne   dc01 

  • ceinture blanche
  • Groupe : Membres
  • Messages : 4
  • Inscrit(e) : 01-avril 19

Posté 09 avril 2019 - 16:20

merci gile pour cette explication extrêmement claire j'adore !
et merci Beaucoup BONUSCAD, c'est un site internet ça avec des ressources si je ne me trompe ?

je me doutais bien que ce Fameux Mainiten était quelque chose d'important,
Ah bon le langage .net peu s'amuser avec ces Mainiten,
AH AH ObjetARX du pure autodesk ça! il peu substituer un objet c'est GENIALE, Excellent
en fait tous les trucs subtiles d'autocad ce trouve dans sa programmation.

quand tu dis objet ça s'applique a tous ce qu'autocad définit comme objet?
qui porte ce handle pour le faire exister en somme, Warf_
mais il faut je suppose pour ce faire mettre en mémoire sa définition d'abord,
la récupére pour la traiter et l'écraser, ou il fait ça comme avec une mémoire,
je remplis je vide sans ce soucier réellement du contenue ?

plus besoin d'écraser l'objet avec le même nom si un bloc du COUP ?, purger une fois exploser
quand on place une polyligne, puis une autre celle-ci porte obligatoirement un autre Mainiten
c'est cool ça donc tu néttoie super bien avec ce system des contrôles de Handles, récupération,
ce que fait autocad en Gros quand il vérifie l'intégrité du DWG, il trie ces Mainitens,
sa mémoire en somme ou table des HANDLES on dire.

la franchement cela me plait, donc en gros tu exporte via un TXT ou xls, tu passe a la moulinette
pour mettre en place ton nouveau bloc en important sa définition, et tu peux mêmes écraser
son Mainiten pour lui en donner un Autre
ça me plait beaucoup et répond a ma question que je me posais

Qui était comme j'ai les handles, dans Excel que je l'ai injectes pour définir mes attributs
dans autocad espace objet, si je veux reconstruire ma base de donnés Handle
c'est possible du coup, car le fichier CLient est elle qu je l'ai récupéré,
ça ferait trés pro si je pouvais définir ma propre liste de Handles avec une légende,
Cool bon j'en suis loin.

ce Mainiten est Numeric seulement ou alphanumérique ? il y a du texte dans l'alpha numérique ? non ?
comme Micro001, Micro002, Micro003 pour la zone microprocesseur par exemple
ou je suis obligé de mettre que des nombres ?

bon je vais tester le code ci dessus, ou la il y a beaucoup de vert,
ça veut dire que cela ne va pas marcher il manque des parenthèses, virgules ou je ne sais encore,
vous êtes dure, dans le style poupées Russe, marrant, ça me rappel le PASCAL
et mon pote qui gérais des intégrales de malade DIXIT Telescope VLT, Keck, la silla
pour créer les mirroirs a courbure paramétrables

MERCI beaucoup, j'adore me mettre les neuronnes a l'envers mais je dois être plus conçit OK
désolé

je vais tester ça.

Ah oui pour les pro, indépendant qui font du code, j'aurais surement du taffe a leur proposer en terme de programmation, j'ai pas mal d'utilisateurs qui bosse avec du autodesk,
souvent un petit programme bien ficelé peu résoudre d'énorme contrainte et vue ce que l'on peu faire avec le noyau d'autocad, ce SOFT est monstreux.

MAX peut etre aussi ?

Si je vous dis IPAS plugins cela vous parle ? anciennement kinetix pour savoir votre niveau de programmation, tous ça c'est du SDK plus ou moins orienté C++
bonne soirée et encore merci

LA FRANCHEMENT JE DIS BRAVO CELA FONCTIONNE SUPER BIEN
ET MILLES MERCI...TROP FORT...
Si c'est giles qui a écrit le Code ce gart est une vraie Bugati
du lisps.
0

#13 L'utilisateur est en ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 11277
  • Inscrit(e) : 02-septembre 05

Posté 09 avril 2019 - 17:06

Il m'avait semblé avoir été clair, mais manifestement, je n'ai pas été compris.

Le handle d'un objet est simplement un identifiant unique attribué par AutoCAD au moment où cet objet est ajouté à la base de données du dessin.

On ne peut pas changer le handle affecté à un objet par AutoCAD.

On ne peut pas choisir le handle d'un objet qu'on ajoute à la base de données.

Ce qu'on peut faire, dans certaines conditions seulement, c'est affecter le handle d'un objet existant à un nouvel objet avant qu'il soit ajouté à la base de données, ce qui a pour effet de supprimer l'objet pré-existant. Mais en général, c'est utilisé pour supprimer certains objets personnalisés (proxy) qu'on ne peut effacer autrement.


PS : une des choses qui font la qualité de ce site c'est (c'était) le fait que chacun essayait d'écrire un français correct, en évitant, tant que possible, les fautes d'orthographes.
Je le redis ici, personnellement, à partir d'un certain nombre de fautes, je n'arrive plus à lire le message et j'abandonne.
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#14 L'utilisateur est hors-ligne   lecrabe 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8687
  • Inscrit(e) : 10-décembre 03
  • LocationLoire (42)

Posté 09 avril 2019 - 18:19

Hello Gilles

J ADORE ton message !

Bye, lecrabe
Autodesk Expert Elite Team
0

#15 L'utilisateur est hors-ligne   didier 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8411
  • Inscrit(e) : 18-décembre 02
  • LocationPlanète : Terre

Posté 09 avril 2019 - 19:03

Coucou

En fait j'ai lâché l'affaire à cause de ça
On ne sait toujours pas ce qu'il faut faire en plus...
M
oi aussi, (gile) j'adore ton message.

Éternel débutant ...
Programmer AutoCAD
0

#16 L'utilisateur est hors-ligne   bonuscad 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 4688
  • Inscrit(e) : 20-juin 03

Posté 09 avril 2019 - 22:31

Citation

Ce qu'on peut faire, dans certaines conditions seulement, c'est affecter le handle d'un objet existant à un nouvel objet avant qu'il soit ajouté à la base de données, ce qui a pour effet de supprimer l'objet pré-existant. Mais en général, c'est utilisé pour supprimer certains objets personnalisés (proxy) qu'on ne peut effacer autrement.

Alors la j'apprends quelque chose, je pensais cela totalement impossible.

Autrement le jeune Padawan s'emballe très fort, mais ses idées et les moyens à utiliser ont l'air confus.
S'il ne propose pas quelque chose de concret, je ne sais pas si je vais suivre, parce ce que son soliloque...
Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
0

#17 L'utilisateur est en ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 11277
  • Inscrit(e) : 02-septembre 05

Posté 09 avril 2019 - 22:53

Voir le messagebonuscad, le 09 avril 2019 - 22:31 , dit :

Alors la j'apprends quelque chose, je pensais cela totalement impossible.


Il y a une méthode ObjectARX / .NET qui s'appelle HandOverTo qui permet ça.
Elle est, par exemple, utilisée par la commande COUPURE (_BREAK). Si on coupe une ligne, la première partie est en fait la ligne raccourcie et conserve donc ses Handle et ObjectId (ENAME) et la seconde partie est un nouvel objet, mais quand on coupe un cercle, on se retrouve avec des arcs. HandOverTo permet alors de réaffecter les identifiants du cercle au premier arc.
Comme je le disais plus haut, j'utilise aussi cette méthode (ZombieKiller, BatchPurge) pour supprimer certains objets proxy récalcitrants qui ne se laissent pas effacer par la méthode classique Erase en substituant un nouveau dictionnaire vide à l'objet proxy (dans ce cas, on n'ajoutera pas le dictionnaire à la base de données).
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

#18 L'utilisateur est hors-ligne   bonuscad 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 4688
  • Inscrit(e) : 20-juin 03

Posté 10 avril 2019 - 10:12

Ah ok ! c'est accessible uniquement en ARX/NET.

Je pense pas appliquer cette méthode de si tôt, mais merci pour l'info.

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

#19 L'utilisateur est hors-ligne   lecrabe 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 8687
  • Inscrit(e) : 10-décembre 03
  • LocationLoire (42)

Posté 10 avril 2019 - 11:35

Hello Gilles

MERCI pour les explications !

Bye, lecrabe
Autodesk Expert Elite Team
0

#20 L'utilisateur est en ligne   (gile) 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 11277
  • Inscrit(e) : 02-septembre 05

Posté 28 avril 2019 - 16:53

Je suis retombé sur ce LISP écrit il y a plus de 10 ans qui fait un zoom sur les objets dont les handles sont spécifiés par l'utilisateur.
Si ça peut aider.
Par contre, il y a plus de deux trois lignes de code...
Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
Image IPB
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)