.NET

Reply
Contributor
csharpbird
Posts: 13
Registered: ‎06-09-2009
Message 1 of 2 (173 Views)

How to change a dimensional constraint from annotational to dynamic?

173 Views, 1 Replies
06-12-2012 08:21 AM
public class DimConstraints
{
    [CommandMethod("Test")]
    public void Test()
    {
        Database db = HostApplicationServices.WorkingDatabase;
        using (Transaction trans = db.TransactionManager.StartTransaction())
        {
            Circle circle = new Circle { Center = Point3d.Origin, Radius = 10 };
            ObjectId modelId = SymbolUtilityServices.GetBlockModelSpaceId(db);
            BlockTableRecord model = (BlockTableRecord)modelId.GetObject(OpenMode.ForWrite);
            model.AppendEntity(circle);
            trans.AddNewlyCreatedDBObject(circle, true);
            AssocUtil.CreateRadialDimConstraint(circle.ObjectId, circle.StartPoint, circle.StartPoint);
            trans.Commit();
        }
    }
}

The above codes use the simplified .NET API for accessing AutoCAD parameters and constraints from:
http://through-the-interface.typepad.com/files/AdnAssocConstraintAPI.zip
The above codes can create a radial dimensional constraint. 

But the type of the dimensional constraint is annotational.

How to change it to a dynamic constraint?

ADN Support Specialist
philippe.leefsma
Posts: 658
Registered: ‎06-02-2009
Message 2 of 2 (139 Views)

Re: How to change a dimensional constraint from annotational to dynamic?

07-31-2012 02:24 AM in reply to: csharpbird

Hi 

 

This setting is not exposed through this high level constraint API.

 

In order to set a constraint dynamic, you need to use the "AcDbDimension::setConstraintDynamic(true)" on the dimension on which you apply the constraint. You will need to modify the source code of the C++ API in order to achieve that.

 

Regards,

Philippe.



Philippe Leefsma
Developer Technical Services
Autodesk Developer Network

Post to the Community

Have questions about Autodesk products? Ask the community.

New Post