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