Aller au contenu

piergel

Membres
  • Compteur de contenus

    10
  • Inscription

  • Dernière visite

Tout ce qui a été posté par piergel

  1. piergel

    UCSXDIR et UCSYDIR

    Bonjour, Si tu gères effectivement le lisp ou la boite de dialogue apparaît : avant lancement de la boite de dialogue : - sauvegarde du SCU courant (if (tblsearch "UCS" "$$temp$$") (command "_ucs" "_d" "$$temp$$") ) (command "_ucs" "_s" "$$temp$$") - modification du scu avec la commande SCU et toutes ses options. Exemple : (command "_ucs" "_w") (command "_ucs" "_o" "_non" pt) ; _non=none (pas d'accrochage) (command "_ucs" "_za" "" "_non" ang) ; _non=none (pas d'accrochage) après la boite de dialogue, retour au scu sauvegardé : (command "_ucs" "_r" "$$temp$$") (command "_ucs" "_d" "$$temp$$") Cordialement
  2. C'est encore moi ! Juste après avoir posté mon message précédent j'ai eu une idée : comme DxfIn n'est pas une méthode existant dans le modèle objet Autocad standard, je me suis dit que c'était pour cela que la fonction vla-dxfin ne fonctionnait pas. J'ai donc tenté un vlax-invoke-method et... Ca marche ! Même pas besoin d'ouvrir au préalable un dessin vierge ! (defun OuvrirDxfDbx(dxf / dbx) ; ; ouvre un fichier Dxf en ObjectDbx ; (if (< (atoi (substr (getvar "ACADVER") 1 2)) 16) (setq dbx (vlax-create-object "ObjectDBX.AxDbDocument")) (setq dbx (vlax-create-object (strcat "ObjectDBX.AxDbDocument." (substr (getvar "ACADVER") 1 2)))) ) (vlax-invoke-method dbx 'DxfIn dxf) dbx ) Merci encore à tous et à bientôt.
  3. Merci Patrick ! En fait j'étais persuadé qu'on ne pouvais pas gérer plusieurs fenêtres dessin en AutoLisp et qu'une session Autolisp était forcément restreinte à une seule fenêtre ! Mais effectivement ça fonctionne très bien. Du coup, je vais me rabattre là dessus car impossible de faire fonctionner la methode DxfIn (pourtant exposée avec un vlax-dump-object), même à partir d'un dessin vierge préalablement chargé. Et si vraiment le temps de traitement est trop long, je reviendrai en ObjectDbx en convertissant au préalable mes DXF en DWG. A +
  4. Bonjour, Comme je l'ai dit, je connais très bien le format DXF (j'avais même écrit il y a quelques années un viewer alphanumérique de fichier DXF avec présentation des données en arborescence). La fameuse méthode DxfIn est une piste que je vais creuser et si je n'y arrive pas, je devrai effectivement passer par une phase préliminaire de conversion de mes DXF en DWG. Je ne fais que lire mes fichiers DXF, je ne les modifie pas. Ça simplifie les choses. J'ai bien sur pensé aussi au script mais ça n'est pas très pratique car dans chaque DXF je dois récupérer deux polylignes que je recopie dans le dessin courant qui au final va donc compiler des éléments provenant de chaque DXF. Si je m'en sort avec DxfIn, je posterai un nouveau message avec un petit bout de code. Je viens de m'inscrire sur CADxp et m’aperçois que c'est un forum dynamique et vivant. Je vais essayer d'y apporter ma contribution. Merci a vous tous.
  5. Merci Olivier mais je n'arrive pas à implémenter cette méthode :( (defun OuvrirDxfDbx(dxf / dbx) ; ; ouvre un fichier Dxf en ObjectDbx ; (if (< (atoi (substr (getvar "ACADVER") 1 2)) 16) (setq dbx (vlax-create-object "ObjectDBX.AxDbDocument")) (setq dbx (vlax-create-object (strcat "ObjectDBX.AxDbDocument." (substr (getvar "ACADVER") 1 2)))) ) (vla-dxfin dbx dxf) dbx ) erreur: no function definition: VLA-DXFIN
  6. Bonjour, Très fort, j'y avais pas pensé !!! Je vais avoir des milliers de DXF à traiter, j'aurais aimé ne pas avoir à les convertir avant. Si ce n'est pas possible d'ouvrir un DXF en ObjectDBX, quelqu'un pourrait-il me le confirmer ? Merci.
  7. Bonjour, Mon code est très simple : sauter l'entête puis compresser/décompresser le reste... Mais je fais appel à une librairie zlib pour compresser/décompresser. J'ai également les sources de cette librairie mais là par contre c'est plusieurs milliers de lignes de code en C que je ne vois pas trop l'intérêt de traduire en lisp ! PiaZipSource.zip
  8. Merci pour ta réponse, 1 - je sais que c'est un fichier texte et je connais bien le format et les codes. Je souhaite l'ouvrir en ObjectDbx car ça se prête très bien aux traitements que j'ai a faire derrière (calculs d'intersections de polylignes, recopie de certaines entités dans le dessin courant...). 2 - C'est justement le "peu de chose près" qui me pose problème, en l'occurence l'ouverture du DXF... Pour mes calculs d'intersections par exemple c'est nickel avec la méthode IntersectWith trouvée dans l'aide "ActiveX et VBA" Ma question reste donc entière : comment ouvrir un fichier DXF en ObjectDbx. Bonne journée
  9. Bonjour, J'ai écrit en 2005 deux petits exécutables en C : Piaunzip et Piazip pour décompresser ou recompresser des pc3 , stb ou autres, si ça peut aider (à utiliser en ligne de commande)... Ce qui est intéressant de savoir c'est qu'Autocad accepte un pc3 ou un stb directement sous une forme décompressée. Par contre, dès qu'il intervient dessus, il le recompresse. Pierre PiaZip.zip
  10. Bonjour à tous, J'ai découvert il y peu la programmation ObjectDBX en Visual Lisp (notamment grace à CADxp - merci Patrick_35). J'ai fait quelques essais concluants de manipulation de DWG mais j'ai 3 questions : 1 - pas de problème avec les DWG (utilisation de la méthode Open sur l'objet ObjectDBX.AxDbDocument) mais j'ai maintenant besoin de traiter des DXF et la méthode en question semble ne pas fonctionner sur des DXF. J'ai tâtonné avec une méthode Import et sur d'autres objets mais sans succès. Comment ouvrir un fichier DXF en ObjectDBX ? 2 - Une question plus générale qui découle de la première : existe-t-il une documentation de référence sur ObjectDBX avec l'ensemble des objets accessibles, leurs méthodes et propriétés (site web, livres...) ? c'est très difficile de trouver de l'info à ce sujet sur internet ! 3 - Autre question générale : ObjectDBX va-t-il continuer d'être proposé avec les prochaines version d'Autocad ? J'ai cru comprendre qu'il a été à la base de RealDWG depuis le support de l'environnement .net mais il continue à exister en temps que tel. Merci d'avance pour votre aide.
×
×
  • 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é