fabcad Posté(e) le 23 octobre 2009 Posté(e) le 23 octobre 2009 Bonjour à tous, Je souhaiterais éditer plusieurs objets via une case de dialogue type illustré comme l'image ci-dessous : http://lh5.ggpht.com/_-Pf6GVUPhGA/SuFf5ODHTCI/AAAAAAAAABg/1bW8l_lCQy0/Editeur%20de%20Donnees%20Objets-simplifi%C3%A9.jpg Elle pourrait servir a modifier une collection d'objets AutoCAD par exemple des propriétés standard d'AutoCAD, les xdatas ou bien les données d'objets. 2 problèmes à mon niveau :- comment créer en langage DCL standard la zone de liste à cases multiples.- comment faire la relation entre la ligne sélectionnée et l'objet AutoCAD (notement pour les modifications en temps réel ainsi qu'un zoom. Merci pour vos idées. Fabrice, [Edité le 23/10/2009 par fabcad]
bseb67 Posté(e) le 23 octobre 2009 Posté(e) le 23 octobre 2009 salut fabcad, Pour ta boite de dialogue, je crois qu'en DCL pur c'est presque impossible,je dis presque, car il est possible de faire quelque chose approchant ca.Reste à savoir combien d'éléments par objet tu veux afficher... Pour la màj directe, je serai plutôt contre, mais pourquoi ?Et bien par ce que ;) , en fait il me parait plus judicieux de travailler ainsi:- choisir tes entités- création d'une "super" liste contenant des sous-listes de ce type (entité oid infos1 infos2 ....)- ouverture de la dcl + chargement de infos- modification des entités dans la dcl + màj de la liste- clic sur bouton "appliquer" => application des infos de la liste Bon, maintenant, si tu es malin, tu peux dire que mon premier jet de méthode comporteune non optimisation : "Et si on ne change rien? ou très peu?" Ahaha, l'astuce réside dans le fait deux faire deux listes :) , une pour les infosoriginelles, et l'autre pour la dcl, ensuite par simple comparaison on ne mettra à jourque ce qu'il faut. Pour finir, si tu veux de l'aide donne plus d'infos sur "ton cahier des charges" a+ Tous pour lisp, Lisp pour tous!Avec Revit, cela ne vas trop vite...
Patrick_35 Posté(e) le 23 octobre 2009 Posté(e) le 23 octobre 2009 Salut Je rejoins bseb67 Une liste qui permet de choisir l'ID et qui affiche suivant tes besoins @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
fabcad Posté(e) le 23 octobre 2009 Auteur Posté(e) le 23 octobre 2009 L' ID correspond t'il au code dxf 5 de la liste dxf d'un objet autocad ?
bseb67 Posté(e) le 23 octobre 2009 Posté(e) le 23 octobre 2009 resalut fabcad, Oui et non, en fait tu peux utiliser le code dxf 5avec un handent dessus, tu récupères l'entité. Mais il y a aussi l'oid en vlisp, qui lui est un chiffre, il est utilisé dans les champssi tu as eu déjà l'occasion de le voir. Pour moi le plus simple serai de stocker l'entité même dans la liste (comme notéedans ma première réponse) mais de n'afficher que le code dxf 5 qui lui est unique Tous pour lisp, Lisp pour tous!Avec Revit, cela ne vas trop vite...
(gile) Posté(e) le 23 octobre 2009 Posté(e) le 23 octobre 2009 Salut, Petites précisions. Le ENAME d'AutoLISP et l'ObjectId utilisé en Visual LISP correspondent au même identifiant pour les objets (graphiques ou non).Pour preuve, dans retourné par (car (entsel)), par exemple, 7efe0a78 est la forme hexadécimale de 2130578040 retourné par (vla-get-ObjectId ...) sur le même objet (voir les routines gc:EnameToObjectId et hex2dec ici). Le maintien (handle) code de groupe 5 des listes DXF est un autre identifiant pour les objets AutoCAD.Pendant une session, il est toujours possible de passer de l'un à l'autre (handent ou vla-vla-HandleToObject). Mais la différence la plus importante entre handle et ename ou ObjectId est leur pérénité.Le handle est invariant pendant toute la durée de vie de l'objet, par contre ename et ObjectId sont susceptibles de changer entre deux ouverture du dessin.En effet si on ouvre un fichier DXF avec le bloc-note, on retrouve le code 5 pour tous les objets mais pas de code -1 (ni 330, 350, 360, etc.).C'est à la réouverture du document que les objets se voient attribuer leur ObjectId ou ename et il peut être différent de celui qu'ils avaient lors d'un session précédente. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant