Aller au contenu

Messages recommandés

Posté(e)

bonjour,

 

je souhaite simplement ouvrir un fichier DWG type dans lequel j'insere un Gabarit (avec d'autres dessins ouverts).

j'ai piqué quelques infos sur les commandes NEW,OPEN ainsi que sur les variables SDI et FILEDIA mais la fin du programme les deux variables ne se remettent pas a 0 pour SDI et 1 pour FILEDIA ???

 

(setvar "sdi" 1)

(setvar "filedia" 0)

 

(command "_new" "o" "CVI.dwt")

 

 

(command "_open" "o" "c:\\DocumentsandSettings\Maxime\Bureau\MENU-julien\CVI.dwg")

 

(command "inserer" "CVI.dwt" 0,0,0 1 1 0)

 

(setvar "sdi" 0)

(setvar "filedia" 1)

 

Une autre petite question: Pourquoi je ne peux avoir qu'un seul dessin d'ouvert et si j'en est deux la variable SDI a 1 est rejeté

 

Posté(e)

Salut

 

Pour "piloter" un dwg, tu raisonnes comme pour un script.

La variable SDI n'est changeable que si un seul dessin est ouvert, ce qui est logique car si SDI = 1, cela veut dire que l'on peut ouvrir qu'un seul dessin à la fois.

Deux dessin ouverts --> Variable impossible à changer.

Tu peux regarder dans Scriptor qui semble correspondre à tes besoins.

 

Maintenant, comme on est dans la section "Pour aller plus loin en LISP", tu peux aussi ouvrir le dessin par le vla, en utilisant cette méthode

(setq dessin (vla-open (vla-get-documents (vlax-get-acad-object)) "Mon_Dessin.dwg"))

Et ensuite faire tes insertions comme par exemple

(vla-insertblock espace_papier/objet (vlax-3d-point '(0.0 0.0 0.0)) "Mon_bloc" 1 1 1 0)

 

Et pour pousser encore plus loin, tu as ensuite la méthode ObjectDxb, qui permet d'accèder au dessin sans l'ouvrir.

 

@+

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

Posté(e)

Salut,

 

Tout d'abord, il faut comprendre que quand tu lances un LISP dans un document, il ne peux pas continuer à s'exécuter dans un autre document.

 

Ensuite, quelques remarques, tu ne devrais pas avoir besoin de mettre FILEDIA à 0, la fonction command appelle toujours la version 'ligne de commande' de la commande (si elle existe).

Quand tu donnes un chemin de fichier, il faut doubler toutes les barres obliques inversée (anti-slashes) ou les remplacer par des barres obliques (slashes).

 

PS : je déplacerais ton sujet vers le forum "Débuter en LISP" où il sera plus à sa place.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Bonjour,

 

une petite question a Patrick35

 

(vla-insertblock espace_papier/objet (vlax-3d-point '(0.0 0.0 0.0)) "Mon_bloc" 1 1 1 0)

 

a quoi correspond espace_papier/objet ?

 

car cela devrai etre

(vla-get-paperspace (vla-get-activedocument (vlax-get-acad-object))) 

 

 

 

[Edité le 4/4/2011 par Fraid]

Posté(e)
(vla-get-paperspace (vla-get-activedocument (vlax-get-acad-object))) 

Salut

 

Tu as une partie de la réponse.

Remplace paperspace par modelspace

 

ps : avec un vla-open, ce n'est plus (vla-get-activedocument (vlax-get-acad-object)) mais (vla-item (vla-get-documents (vlax-get-acad-object)) "Mon_Dessin.dwg") ou la variable dessin du vla-open. Idem avec ObjectDbx

 

@+

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

Posté(e)

Oula!?

 

Encore une question que j'ai bien fait de poser

 

J'etais encore a coté de la plaque....

 

Merci, car mes tentative d'action sur des dessins avec ObjectDbx ce solde par des echecs lamentables.

 

je n'y arrive qu'en repiquant vos codes....

 

pas façile..... :P

Posté(e)
Merci, car mes tentative d'action sur des dessins avec ObjectDbx ce solde par des echecs lamentables.

C'est par l'erreur que l'on apprend ;)

je n'y arrive qu'en repiquant vos codes....

Ils peuvent servir de guide, pour comprendre comment cela fonctionne et ou rechercher l'instruction

 

ps : Les américains/anglais ne se prennent pas la tête avec les instructions. il suffit en général de traduire pour comprendre

vla-get --> obtenir des informations

paperspace --> espace papier

activedocument --> document actif (donc le dessin sur lequel je travail)

vlax-get-acad-object --> l'objet Autocad

Taduction : Les valeurs de l'espace papier du document actif d'Autocad

 

@+

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é