bathepn
Membres-
Compteur de contenus
23 -
Inscription
-
Dernière visite
bathepn's Achievements
Newbie (1/14)
0
Réputation sur la communauté
-
crée une présentation
bathepn a répondu à un(e) sujet de bathepn dans ObjectARX/DBX, C++, .NET, RealDWG
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 -
crée une présentation
bathepn a répondu à un(e) sujet de bathepn dans ObjectARX/DBX, C++, .NET, RealDWG
Je ne demande que ça d'apprendre mais AutoCAD est vraiment complexe donc c'est compliqué et je n'ai pas beaucoup de temps :) -
crée une présentation
bathepn a répondu à un(e) sujet de bathepn dans ObjectARX/DBX, C++, .NET, RealDWG
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é :) -
crée une présentation
bathepn a répondu à un(e) sujet de bathepn dans ObjectARX/DBX, C++, .NET, RealDWG
ah ok, je trouvais ça bizarre un programme en image mais oui bien sur le but est de le faire en .NET ... -
crée une présentation
bathepn a répondu à un(e) sujet de bathepn dans ObjectARX/DBX, C++, .NET, RealDWG
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. -
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
-
dégèle d'un calque
bathepn a répondu à un(e) sujet de bathepn dans ObjectARX/DBX, C++, .NET, RealDWG
Merci pour toutes ces explications :) -
dégèle d'un calque
bathepn a répondu à un(e) sujet de bathepn dans ObjectARX/DBX, C++, .NET, RealDWG
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 :) -
dégèle d'un calque
bathepn a répondu à un(e) sujet de bathepn dans ObjectARX/DBX, C++, .NET, RealDWG
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 -
dégèle d'un calque
bathepn a répondu à un(e) sujet de bathepn dans ObjectARX/DBX, C++, .NET, RealDWG
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. -
dégèle d'un calque
bathepn a répondu à un(e) sujet de bathepn dans ObjectARX/DBX, C++, .NET, RealDWG
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). -
dégèle d'un calque
bathepn a répondu à un(e) sujet de bathepn dans ObjectARX/DBX, C++, .NET, RealDWG
Pas d'autres idées ? -
dégèle d'un calque
bathepn a répondu à un(e) sujet de bathepn dans ObjectARX/DBX, C++, .NET, RealDWG
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) -
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.
-
Désolé pour ce post j'ai fini par trouver. C'était ça : texte.Attachment = AttachmentPoint.MiddlMid; Ou autre de l'enum :)
