Aller au contenu

Gardy

Membres
  • Compteur de contenus

    3
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Gardy

  1. Les étapes sont les suivante: L'utilisateur trace des arc 3 points avec l'outil ARC en partant toujours du même point de départ (Voir exemple 1er capture de mon post précédant). Ce que je souhaite c'est que l'utilisateur lance ma commande pour sélectionner un arc quelconque et placer un cercle dont le point de centre serait celui du départ de l'arc (Voir résultat 2eme capture). Pour les arc en sens anti-horaire cela fonctionne bien mais pas dans l'autre.Je cherchais à trouver une manière de détecter si l'arc était du sens"clockwise" est si c'était le cas j'aurai modifié le point de centre du cercle par celui du EndStart de l'arc. Pour le moment Je vais partir sur ton idée. Merci encore ;)
  2. Bonjour. Merci Gile pour ton aide. Effectivement cela peut être une solution. Pour expliquer au mieux ce que je souhaite faire: J'ai plusieurs arc de tracé. je souhaite en cliquant sur l'un deux avoir un cercle au point départ. La suite c'est de connaitre le nombre d'arc qui passe dans ce cercle à l'aide de la méthode IntersectWith.
  3. Bonsoir, Petit nouveau ! J'ai besoin d'un coup de pouce car je bloque sur ce problème Je cherche à faire un cercle avec comme centre le point de départ d'un arc. Pas de problème quand l'arc est dans le sens anti-horaire. par contre dans l'autre ce n'est pas le cas. Le cercle se trouve au point de fin (le point départ devient le point fin et vice versa) Je ne sais pas vraiment par ou commencer... Voici un exemple du code que j'utilise [CommandMethod("TEST")] public void CerleArc() { var doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument; var db = doc.Database; var ed = doc.Editor; var options = new PromptEntityOptions("\nSélectionner un arc"); options.SetRejectMessage("\nL'objet séléctionné n'est pas un arc"); options.AddAllowedClass(typeof(Arc), false); var result = ed.GetEntity(options); if (result.Status != PromptStatus.OK) return; Arc tube = null; Circle c = null; using (var tr = db.TransactionManager.StartTransaction()) { tube = tr.GetObject(result.ObjectId, OpenMode.ForWrite) as Arc; BlockTableRecord acBlkTblRec; acBlkTblRec = tr.GetObject(db.CurrentSpaceId, OpenMode.ForWrite) as BlockTableRecord; using (Circle acCirc = new Circle()) { acCirc.Center = new Point3d(tube.StartPoint.X, tube.StartPoint.Y, 0); acCirc.Radius = 7; acBlkTblRec.UpgradeOpen(); acBlkTblRec.AppendEntity(acCirc); tr.AddNewlyCreatedDBObject(acCirc, true); c = new Circle(acCirc.Center, acCirc.Normal, acCirc.Radius); } tr.Commit(); } } Je vous remercie 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é