(gile) Posté(e) le 19 février 2010 Posté(e) le 19 février 2010 Salut, J'aurais besoin de déterminer à partir de quelle version un segment de polyligne est considéré comme Subentity.Subentiy.dll définit une commande TEST qui met en surbrillance le segment de polyligne sélectionné.Cette commande fonctionne sur 2010 mais retourne une erreur : "Erreur: eNotApplicable" sur 2007. Si d'aucuns pouvaient me dire ce qu'il en est avec 2008 et 2009, merci. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 19 février 2010 Posté(e) le 19 février 2010 Bonsoir à toutes et tous, Salut Gilles, Idem sur V2008 ! Commande: testSélectionnez un segment de polyligne:Erreur: eNotApplicable Pas de pb sur civil 3D 2010 ni sur Map 3D 2010,... Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 19 février 2010 Auteur Posté(e) le 19 février 2010 Merci Lilian, je pense que c'est une nouveauté 2010, mais je voudrais en être sûr.Reste à tester sur 2009... Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
menfin Posté(e) le 21 février 2010 Posté(e) le 21 février 2010 Bonjour, V2009j'aurais aimé tester, mais pour moi il ne connait pas la commande "test"Je pense que c'est moi qui ai manqué quelque chose...Peux tu me rappeler la procédure.
(gile) Posté(e) le 21 février 2010 Auteur Posté(e) le 21 février 2010 Salut et bienvenue, Merci pour bien vouloir te livrer à ce test. Après avoir téléchargé le fichier ZIP, le décompresser dans un dossier local.Depuis AutoCAD, charger la DLL avec la commande NETLOAD, dessiner une polyligne, laner TEST et sélectionner un segment de polyligne.Tout ça pour avoir un segment en surbrillance ou un message d'erreur...Merci encore. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
menfin Posté(e) le 21 février 2010 Posté(e) le 21 février 2010 Merci, j'ai pu tester.Même message d'erreur. Ps:Je suis schizophrènemenfin=nazemrapj' avais du me réinscrire au moment de la bascule du forum, et je m'aperçois que je me connecte maintenant sous 2 pseudos...Si je pouvais reprendre ma peau de dr Jekill ça me plairait bien.
lili2006 Posté(e) le 21 février 2010 Posté(e) le 21 février 2010 Bonjour à toutes et tous, Même pb pour _zébulon (CADZEB provisoire) qui semble avoir résolu son pb ! C'est JFD qui semble s'occuper de cette partie de gestion du forum Cf ce post Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
(gile) Posté(e) le 21 février 2010 Auteur Posté(e) le 21 février 2010 Merci nazemrap/menfin.Je trouvais ça très louable pour un premier message de se livrer à un test qui a un intérêt plutôt limité.Conclusion : il s'agit bien d'une nouvelle API 2010. Pour ceux que ça intéresse, le code du test : using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.Geometry; using Autodesk.AutoCAD.Runtime; namespace CsMgd1 { public class Class1 { [CommandMethod("TEST")] public static void HighlightPolySeg() { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; Editor ed = doc.Editor; // Sélectionner la polyligne PromptEntityOptions peo = new PromptEntityOptions("\nSélectionnez un segment de polyligne: "); peo.SetRejectMessage("\nL'objet sélectionné n'est pas une polyligne"); peo.AddAllowedClass(typeof(Polyline), true); peo.AddAllowedClass(typeof(Polyline2d), true); PromptEntityResult per = ed.GetEntity(peo); if (per.Status != PromptStatus.OK) return; using (Transaction tr = db.TransactionManager.StartTransaction()) { // Déterminer l'indice du segment séléctionné Curve pline = (Curve)tr.GetObject(per.ObjectId, OpenMode.ForRead); Point3d pickPt = pline.GetClosestPointTo( per.PickedPoint.TransformBy(ed.CurrentUserCoordinateSystem), ed.GetCurrentView().ViewDirection, false); double param = pline.GetParameterAtPoint(pickPt); int index = (int)param + 1; // Particularité des polylignes 2d splinées Polyline2d pl2d = tr.GetObject(per.ObjectId, OpenMode.ForRead) as Polyline2d; if (pl2d != null && (pl2d.PolyType == Poly2dType.CubicSplinePoly || pl2d.PolyType == Poly2dType.QuadSplinePoly) && pl2d.LinetypeGenerationOn == false) index++; // Mettre le segment en surbrillance try { FullSubentityPath suId = new FullSubentityPath( new ObjectId[] { pline.Id }, new SubentityId(SubentityType.Edge, index)); pline.Highlight(suId, true); } catch (Autodesk.AutoCAD.Runtime.Exception ex) { ed.WriteMessage("\nErreur: " + ex.Message); } } } } } Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
bonuscad Posté(e) le 22 février 2010 Posté(e) le 22 février 2010 Bonjour, Sous Autocad Map 2009 avec Covadis 11.0a: Commande: testSélectionnez un segment de polyligne:Erreur: eNotApplicable Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant