Tramber Posté(e) le 11 août 2005 Posté(e) le 11 août 2005 Je voudrais faire usage de la méthode copyobjects afin de transférer des entités (disons par exemple, la première et la deuxième) composants le bloc "trucmuche" vers l'espace objet. :casstet: Y arrive pas, comment qu'on ? Comme c'est écrit en VBA dans l'aide, je n'arrive pas à traduire la doc.Comme d'hab'. Et puis, c'est quand même une question hardue, réservée aux + .... expérimentés. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
didier Posté(e) le 11 août 2005 Posté(e) le 11 août 2005 bonsoir, Désolé, mais je n'ai pas compris ce que tu veux faire. :( Quelques explicitations expliquantes ... :D merci. amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Tramber Posté(e) le 12 août 2005 Auteur Posté(e) le 12 août 2005 J'aimerais traduire la méthode copyobjects écrite en VBA dans l'aide vers du Vlisp( que je pratique mieux que le VBA). Le mot clef de l'aide ActiveX est tout simplement "copyobjects". Elle permet de "sortir" une entité composant un BLOCK vers l'Espace objet par exemple. C'esst comme si je faisais (setq truc (entget uneentitedubloc)) puis (entmake truc) dans l'espace courant mais ca devrait être 1000 fois + rapide ! Je ne sais pas si tu comprends mieux. Mon soucis est + de la traduction VBA->Vlisp qu'autre chose. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Patrick_35 Posté(e) le 12 août 2005 Posté(e) le 12 août 2005 Ce qui revient à un (nentsel) :exclam: En attendant d'aller plus loin, j'ai trouvé ça @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Tramber Posté(e) le 13 août 2005 Auteur Posté(e) le 13 août 2005 Ce qui revient à un (nentsel) :exclam: Non, je ne passe pas du tout par une selection. Mais je te remercie pour le lien, je pense que ce fichier va beaucoup m'apprendre. Même si ca semble aller de bloc à bloc, alors que je veux de bloc à espace objet.Mais ne vendons pas la peau de l'ours, je suis très content de trouver un lisp qui utilise cette fonction, je regarde sur la console Vlisp demain (aujourd'hui je suis au travail sur autre chose). Merci, et je publie si j'y arrive. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Patrick_35 Posté(e) le 5 janvier 2006 Posté(e) le 5 janvier 2006 Salut TramberJe pense que c'est ce que tu cherchais @+ (defun c:cpvl(/ doc ent lay js n pt1 pt2 sel) (if (setq sel (ssget)) (if (setq pt1 (getpoint "\nPoint de base : ")) (if (setq pt2 (getpoint pt1 "\nDestination : ")) (progn (vl-load-com) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (setq n 0) (while (ssname sel n) (setq js (cons (ssname sel n) js) n (1+ n)) ) (setq js (vlax-safearray-fill (vlax-make-safearray vlax-vbObject (cons 0 (1- (length js)))) (mapcar 'vlax-ename->vla-object (reverse js)))) (setq lay (vla-get-paperspace doc)) ; Copier dans l'espace papier (setq lay (vla-get-modelspace doc)) ; Copier dans l'espace objet (setq sel (vla-copyobjects doc js lay)) (foreach ent (vlax-safearray->list (vlax-variant-value sel)) (vla-move ent (vlax-3d-point pt1) (vlax-3d-point pt2)) ) (princ (strcat "\n" (itoa n) " objet(s) copié(s)")) (vla-endundomark doc) ) ) ) ) (princ) ) [Edité le 6/1/2006 par Patrick_35] Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Tramber Posté(e) le 7 janvier 2006 Auteur Posté(e) le 7 janvier 2006 Merci à toi. Il y a longtemps que je me suis débrouillé avec les vla-item puis les ENTMAKE ou autre pour rajouter dans mes blocs, mais je garde cette discussion aux favoris pour y revenir ! Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
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