Aller au contenu

bathepn

Membres
  • Compteur de contenus

    23
  • Inscription

  • Dernière visite

bathepn's Achievements

Newbie

Newbie (1/14)

0

Réputation sur la communauté

  1. Stage d'informatique de 3ième année d'école d'ingénieur : INSA de Lyon Durée totale du stage : 3 mois sans jamais avoir connu AutoCAD avant ^^ Je vais essayer de faire ça un peu à la main pour comprendre mieux comment ça marche :/ Merci
  2. Je ne demande que ça d'apprendre mais AutoCAD est vraiment complexe donc c'est compliqué et je n'ai pas beaucoup de temps :)
  3. En effet je ne connais pas ou peu AutoCAD. J'ai découvert ça il y a maintenant 2 mois (stage, un mois en réalité, le premier moi était pour la création du "cerveau" du logiciel). Néanmoins je n'ai pas le choix, on me demande de le programmer durant mon stage donc j'apprend sur le tas, je connais un peu .NET mais pas AutoCAD. J'ai découvert hier ce que c'était que ces présentations, en gros la vue Objet en mode imprimable avec une séletion de ce qu'on veux imprimer et un cartouche pour exempliquer ce que c'est (oui c'est réducteur :) ) J'ai pas le choix il faut quand même que je le programme, un peu d'aide serai pas de trop pour m'éviter de passé le mois qu'il me reste de stage sur cette fonctionnalité :)
  4. ah ok, je trouvais ça bizarre un programme en image mais oui bien sur le but est de le faire en .NET ...
  5. Tout d'abord merci pour vos deux réponses. @Gile : j'ai regardé l'exemple, il est en effet très simple mais permet bien de crée un nouveau layout. J'avoue ne pas avoir compris ce qu'est le viewport et son utilité. Concernant la doc c'est bien mais c'est surtout un labyrinte de lien qui s'entrecoupent, je me dis Ah un lien qui pourrait correspondre et il me renoie vers une liste de lien sans exemple concrêt pour réponde au titre ... @HBS62 : tes liens ne marchent pas, je n'ai pas la permission de les voir. En tout cas dans ta description cela conviendrait totalement à ce qu'il me faudrait.
  6. Bonjour J'ai un nouveau boulot à faire et je vois pas du tout comment faire. J'ai un plan avec dans la vue Objet tout plein d'Entity crées dans tout plein de calques. Actuelement j'ai un mécanisme pour gérer tout ces calques et n'afficher que ce qu'il faut à l'écran, mon but maintenant est de créer une présentation de ce calque. Avec une echelle et un cartouche. Un truc beau et imprimable. Quelqu'un pourrais m'aiguiller et/ou me donner un exemple simple ? je sais même pas quoi chercher sur internet en fait. Merci d'avance pour vos réponses
  7. Merci pour toutes ces explications :)
  8. J'ai trouvé !!!! L'idée du regen était bonne mais ne marchait pas avec moi, j'ai utiliser une autre méthode. une fois le dégèle des calque je fais ça : document.SendStringToExecute("_REGENALL ", true, false, false); et ça m'affiche ce qu'il faut :)
  9. Je crois que mes transactions je les termine pas comme il faut. public static void Commit() { if (transaction == null) { throw new ExceptionTransactionAutocadInvalide("Transaction non créée"); } transaction.Commit(); transaction = null; document = null; } Je ne fais jamais de dispose c'est peut-être pas normal. Mais c'est vraiment bizarre car si j'execute deux fois de suite le code pour geler mes calques ça marche alors que pourtant j'ai vérifié il passe dans les même tests et les même instructions. http://9gag.com/gag/anYZ9Eo/my-code-works-but-i-don-t-know-why
  10. Oui et encore merci de l'aide :) pas de boite de dialogue mais il est vrai que je les appel depuis un event d'une palette crée avec WPF. Pour le focus il y a un autofocus à false sur mon PaletSet : _ps.KeepFocus = false; Je ne vois pas ce que tu veux dire pour la "simple commande AutoCAD" :/ Le problème est que lorsque je fais le regen ça m'affiche bien les informations mais quand mon curseur retourne sur l'écran d'autocad tout disparaît comme si je n'avais pas fait le regen.
  11. Les méthodes sont toutes indépendantes les une des autres d'où parfois une redondance dans les tests. Il est lisible dans le sens qu'il suffit de "lire" le code d'une fonction pour comprendre, sans forcément aller voir le contenu des sous fonctions :) la layerTable est bien initialisé, je n'ai aucun problème avec juste comme je disais le dégèle des calques sui n'affiche pas les Entity sur le calque. (Les Entity sont bien sur le calque, quand je le fait à la main via l'IHM d'Autocad je n'ai pas de problème).
  12. Pas d'autres idées ?
  13. j'ai mis un Regen mais ça ne marche pas au clic que le bouton, il faut deux clic que le bouton pour que les Entity s'affiche. private void RadioButton_Checked_2(object sender, RoutedEventArgs e) { MonAutocad.NouvelleTransaction(); MonAutocad.GelerCalque(new Regex("^" + CONSTANTES.VUE.CALQUE_ABC + "i?n[\\dt]"), true); MonAutocad.GelerCalque(CONSTANTES.VUE.CALQUE_ABC + "n" + niveau, false); MonAutocad.SetCalqueCourant(CONSTANTES.VUE.CALQUE_ABC + "n" + niveau); MonAutocad.Commit(); } //J'ai mis le regen ici : public static void SetCalqueCourant(string nom) { if (transaction == null) { throw new ExceptionTransactionAutocadInvalide("Transaction non créée"); } if (getCalque(nom) == database.Clayer) return; GelerCalque(nom, false); CacherCalque(nom, false); VerrouillerCalque(nom, false); database.Clayer = getCalque(nom); editor.Regen(); } CacherCalque et VerouillerCalque sont comme GelerCalque (juste une propriété qui change)
  14. Bonjour J'ai une fonction pour geler ou dégeler un calque. Le problème est que lors du dégèle les Entity qui sont dans ce calque n'apparraissent pas à l'écran. Savez vous comment faire ? Voici mes fonctions : public static void GelerCalque(string nom, bool geler) { if (transaction == null) { throw new ExceptionTransactionAutocadInvalide("Transaction non créée"); } if (ExisteCalque(nom)) { if (getCalque(nom) == database.Clayer) SetCalqueCourant("0"); LayerTableRecord ltr = (LayerTableRecord)transaction.GetObject(getCalque(nom), OpenMode.ForWrite); ltr.IsFrozen = geler; } } public static bool ExisteCalque(string nom) { if (transaction == null) { throw new ExceptionTransactionAutocadInvalide("Transaction non créée"); } return layerTable.Has(nom); } private static ObjectId getCalque(string nom) { if (transaction == null) { throw new ExceptionTransactionAutocadInvalide("Transaction non créée"); } if (!ExisteCalque(nom)) { throw new ExceptionCalque("Le calque " + nom + " n'existe pas"); } return layerTable[nom]; } Merci d'avance de vos réponses.
  15. Désolé pour ce post j'ai fini par trouver. C'était ça : texte.Attachment = AttachmentPoint.MiddlMid; Ou autre de l'enum :)
×
×
  • 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é