Aller au contenu

krunch

Membres
  • Compteur de contenus

    239
  • Inscription

  • Dernière visite

Tout ce qui a été posté par krunch

  1. Ok, c'était donc bien ça et ça venait du nœud StartProgram .. Ça marche maintenant avec les nouveaux projets (à part le nom de l'assembly et d'espace qui ne suivent pas mais ce n'est pas grave). Pour info j'ai dézippé, modifié, supprimé le zip et laissé comme ça .. ça marche aussi avec un modèle non zippé. Merci encore ------------------------- A part ça je confirme, quand on a un fichier test il est quand même bien pratique d'ajouter son ouverture dans le script : _open "chemin\fichier_test.dwg" (sans espace après le ") netload "..\..\bin\Debug\nom_dll" (avec espace)
  2. Non c'est vrai que je n'ai pas le même comportement avec le nom de l'assembly et de l'espace de nom, et je n'ai changé aucun paramètres... Sinon j'ai bien bin\Debug\ dans Propriétés du projet -> onglet Générer Par contre j'ai un truc qui ne doit pas convenir dans l'onglet Déboguer - Arguments de la ligne de commande : /nologo /b "un_dossier_que_j'ai_supprimé_depuis\ACad Cs2010\ACad Cs2010\bin\Debug\start.scr" Et quant aux chemins relatifs je ne sais pas où ça se trouve dans le .csproj du modèle ... Ça peut être 'Arguments de la ligne de commande' ? Sinon on va pas s'enquiquiner, je refais le modèle à zéro ça paraît plus simple ..
  3. Alors je mets le nom dans la fenêtre Nouveau projet (celle où on choisit le modèle), il est copié dans le champ 'Nom de la solution', mais le nom de l'espace de nom de 'commands.cs' et celui de l'assembly restent le nom du modèle... Le script est bien copié dans Debug (l'option est sur 'Toujours copier'), mais AutoCAD ne trouve pas start.scr .. C'est censé marcher qqsoit l'emplacement du projet ? Pour le reste c'est bien ce que je craignais (j'ai voté !) .. Alors l'intérêt du script pourrait être aussi d'ajouter un open "MonFichiertest.dwg" avant le Netload ?
  4. Bonjour Je reviens sur le démarrage car en fait je n'ai pas compris le processus général et je perds pas mal de temps à cause de ça ... Alors voilà comment ça se passe : - je crée un projet depuis le modèle fabriqué grâce au tuto de (gile) - dans les Properties je renomme le Nom de l'assembly - dans le start.scr je mets le même nom, mais avec le chemin complet car il n'est pas forcément à l'endroit initial (c'est ça ?) - là dessus quand je génère la solution avec Démarrer, VS lance AutoCad mais il ne trouve pas 'start.scr'.. Donc je dois faire un Netload, mais ce n'est pas très grave .. Ce qui est pénible c'est que le mode Debug passe le projet VS en lecture seule, du coup comment faites vous pour les allers-retours ? Quand on n'est pas en mode Debug c'est la .dll qui est en lecture seule (chargée) donc VS ne peut pas la re-écrire, et le problème c'est qu'apparemment on ne peut pas décharger la .dll dans AutoCad pour pouvoir la régénérer ?? Bref comment fait-on si on a un fichier test sur lequel on veut charger-décharger la dll pour la régénérer et la tester au fur et à mesure de l'avancement ??
  5. Ma demande correspondait à la demande initiale et tu y as répondu. Pourquoi pas effectivement, j'ai regardé le module Application Windows Forms et l'aide en ligne est plutôt bien faite pour les débutants, ça peut être une entrée ...
  6. Ok compris J'arrive à faire marcher les appels. D'après ce que je comprends c'est le return qui remplace le GetXX effectif par les arguments, mais pour autant on ne peut pas se passer du prompt/GetXX dans ce cas.. Donc ça marche bien avec un appel (command "toto" arg), on peut toujours mettre un NOMUTT pour éviter le message du GetXX ("" au minimum). Par contre depuis une boite modale (DCL/oDCL) le GetXX perturbe trop le système, ça fait des trucs pas catholiques et ça bloque le système ... Merci pour tes réponses
  7. Merci (gile) je vais voir comment je peux utiliser ça. Tel quel j'ai juste une erreur "Le nom 'Vector3d' n'existe pas dans le contexte actuel" (il manque un using ou est-ce à cause de 2010 ?) mais ça devrait me permettre de décortiquer le input. Bien sûr, mais là c'est pour un cas très spécifique : j'essaie de faire marcher le highlight_nested (toujours le même) depuis une fenêtre modale OpenDCL. Or avec un appel Lisp normal ça ne marche pas (tant que je ne ferme pas la fenêtre), mais je constate qu'un redraw normal peut quand même marcher (si non-nested) .. Alors je voudrais faire un essai rapide avec un appel (command ..) au cas où ... Voilà, c'est spécifique.
  8. Finalement je n'ai pas compris si on pouvait ou pas .. Si oui y a t-il un exemple de commande avec input ?
  9. Ok il faut 's'inscrire en ligne', remplir un formulaire et on obtient gratuitement une clé de produit. Merci -------- Le lien de téléchargement est un peu planqué .. il est dans 'Essayez' du menu de la page principale : http://www.microsoft.com/france/visual-studio/essayez/express.aspx
  10. Donc pour revenir à la question de PhilBat on peut faire ? (command "toto")(command arg)(command "") ou (command "toto arg ") Sinon j'ai bien compris que dans le cas où la dll décrit une commande Lisp on peut aussi faire : (command "(toto arg)") Mais je suis dans un (rare) cas où l'appel d'une fonction Lisp avec command est impossible (depuis un interface OpenDCL). Merci. Pour le moment j'essaie de simplifier car dans le cas où l'argument est une liste d'objets c'est moins simple ..
  11. Bonjour Même question : j'ai peut être raté un truc car j'ai installé une version d'évaluation qui est maintenant expirée, pourtant c'est bien un 'VS Express' ... C'est normal ou il y a une version gratuite quelque part ??
  12. Sinon j'utilisais une autre méthode pour passer des arguments au VBA : en passant par une variable USER (par contre je ne sais pas comment on la récupère en C# ..) Je suis arrivé ici pour le même problème, donc pour confirmation : Contrairement à une commande native on ne peut pas passer d'argument à une commande compilée et l'appeler avec (command) ou (vl-cmdf) c'est bien ça ? Du coup dans le cas où je ne peux pas faire un appel de commande Lisp il n'y a plus de solution ?
  13. En Lisp il n'y a pas de réacteur qui assure ce genre de déclenchement. Perso j'utiliserais le réacteur :vlr-commandEnded pour comparer une variable basée sur le timer .. mais sachant que le programme ne sera pas déclenché tant que l''utilisateur n'utilise pas de commande.
  14. krunch

    DWF viewer

    Salut, tu devrais poser cette question sur le forum OpenDCL ..
  15. Merci ! En Lisp je viens de retrouver (textscr), j'avais oublié que ça existait ..
  16. Bonjour Je voudrais afficher la fenêtre de texte d'Autocad pour afficher un message de plusieurs lignes, comme le fait la commande LISTE par exemple .. L'état affiché/non n'a pas l'air de correspondre à une variable système, ni à une commande, et je ne vois pas comment envoyer un 'F2' Pensez vous qu'il y ait un moyen ??
  17. C'est vrai que simplifie beaucoup ce genre de ligne, merci pour la remarque.
  18. Mais oui ça marche ! Donc respectivement pour les polys non-3D et pour tous les polys : '((0 . "*POLYLINE")(-4 . "<NOT")(-4 . "&")(70 . 120)(-4 . "NOT>")) '((0 . "*POLYLINE")(-4 . "<NOT")(-4 . "&")(70 . 112)(-4 . "NOT>")) Merci pour vos réponses
  19. Oui j'aurais dit aussi le XOR .. mais dans ce cas précis ça ne devrait rien changer (?) En tout cas avec la ligne suivante ça marche bien .. (ssget "X" '((-4 . "<OR")(0 . "LWPOLYLINE")(0 . "CIRCLE")(0 . "ARC")(-4 . "OR>"))) Effectivement, et les codes 70 ont l'air compatibles. Mais le problème c'est que dès que j'essaie de tester le code 70 avec un AND en plus ça renvoie nil (sans message d'erreur) .. (ssget "X" '((-4 . "< AND ")(0 . "*POLYLINE")(-4 . "<")(70 . 8)(-4 . "AND>"))) Ensuite il faudrait écrire "si {code70 AND 120} <> 0" mais je ne sais pas comment on écrit ça ..
  20. Je rectifie : il faudrait écrire quelque chose comme : (ssget "X" '((-4 . "<OR")(-4 . "< AND ")(0 . "POLYLINE")(-4 . "< NOT ")(-4 . "&")(70 . 120)(-4 . "NOT>")(-4 . "AND>")(0 . "LWPOLYLINE")(-4 . "OR>"))) (ssget "X" '((-4 . "<OR")(-4 . "< AND ")(0 . "POLYLINE")(-4 . "< NOT ")(-4 . "&")(70 . 112)(-4 . "NOT>")(-4 . "AND>")(0 . "LWPOLYLINE")(-4 . "OR>"))) Mais ça ne marche pas mieux .. Ce que je comprends pas c'est que même avec une LWPoly dans le dessin le code renvoie nil
  21. Bonjour à tous Je cherche à faire une filter list pour ssget qui sélectionne les polys non 3D + une autre pour tous les polys : (ssget "X" '((-4 . "<OR")(-4 . "< AND ")(0 . "POLYLINE")(-4 . "<")(70 . 8)(-4 . "AND>")(0 . "LWPOLYLINE")(-4 . "OR>"))) (ssget "X" '((-4 . "<OR")(-4 . "< AND ")(0 . "POLYLINE")(-4 . "<")(70 . 16)(-4 . "AND>")(0 . "LWPOLYLINE")(-4 . "OR>"))) Les 2 renvoient nil, qu'est ce qui cloche la dedans ??
  22. D'accord, ça marche (en enlevant le 'a' dans LispaDataType) Merci beaucoup, tu as fourni de quoi comprendre le principe, et sans doute d'aller plus vite pour apprendre le C# .. explications très éclairantes
  23. Alors non : j'ai une erreur dans les 2 cas Impossible de convertir le type 'Autodesk.AutoCAD.DatabaseServices.ObjectId' en'Autodesk.AutoCAD.DatabaseServices.TypedValue' Et avec le tableau j'ai une erreur La méthode surchargée correspondant le mieux .. possède des arguments non valides (peut être à cause de la version) C'est plus pour comprendre les syntaxes d'entrée/sortie, je précise que pour le moment je n'ai pas le niveau pour m'en servir ..
  24. Ok .. il faut adapter la déclaration d'entrée + celle de la routine, compris Par contre 'LspArgs' fait référence à l'argument d'entrée. Dans ce cas précis il ne subit pas vraiment de calcul (il est juste inversé), mais imaginons qu'il y ait un vrai calcul ou autre, et que je veuille renvoyer le résultat 'path' .. Dans ce cas il faut fabriquer un nouveau ResultBuffer de TypedValue avec un foreach c'est ça ?
  25. Fatche .. c'est vraiment pas simple. Par la suite je potasserai l'aide avant d'y revenir, et tes explications qui dégrossissent énormément .. Donc d'après ce que je comprends notamment, (int)LispDataType.ListBegin est le 'code de groupe' qui correspond à une parenthèse ouvrante ? Et sans abuser, j'aurais juste une dernière question dans la continuité sur les entrée/sortie : à l'inverse, si je veux renvoyer la liste d'entités 'path' plutôt que l'entité 'path[0]' dans le return ?
×
×
  • 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é