.NET

Reply
Contributor
insiaiftiqhar
Posts: 19
Registered: ‎06-21-2012
Message 1 of 3 (217 Views)
Accepted Solution

reading geomeric constraints

217 Views, 2 Replies
11-28-2012 01:55 PM

How do you read geometric constraints from the Assoc2dConstraintGroup in C# or VB?

Hi There,

 

Here is a c# sample that illustrates how to get started:

 

[CommandMethod("DumpConstraints")]
public void DumpConstraints()
{
Document doc = Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
Editor ed = doc.Editor;
ObjectId networkId = AssocNetwork.GetInstanceFromObject(
db.CurrentSpaceId,
false,
true,
"ACAD_ASSOCNETWORK");
if (networkId == ObjectId.Null)
return;
using (Transaction Tx =
db.TransactionManager.StartTransaction())
{
using (AssocNetwork network =
Tx.GetObject(
networkId,
OpenMode.ForRead, false) as AssocNetwork)
{
foreach (ObjectId actionId in network.GetActions)
{
if (actionId == ObjectId.Null)
continue;
DBObject obj = Tx.GetObject(
actionId,
OpenMode.ForRead);
//ed.WriteMessage("\n - Action: " + obj.ToString().Remove(0, 34));
if (actionId.ObjectClass.IsDerivedFrom(
RXObject.GetClass(
typeof(Assoc2dConstraintGroup))))
{
Assoc2dConstraintGroup group = obj
as Assoc2dConstraintGroup;
foreach(GeometricalConstraint constraint
in group.Constraints)
{
//... do something ...
}
}
}
}
}
}

 

Regards,

Philippe.

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

Re: reading geomeric constraints

12-04-2012 01:10 AM in reply to: insiaiftiqhar

Hi There,

 

Here is a c# sample that illustrates how to get started:

 

[CommandMethod("DumpConstraints")]
public void DumpConstraints()
{
    Document doc = Application.DocumentManager.MdiActiveDocument;
    Database db = doc.Database;
    Editor ed = doc.Editor;

    ObjectId networkId = AssocNetwork.GetInstanceFromObject(
        db.CurrentSpaceId, 
        false, 
        true, 
        "ACAD_ASSOCNETWORK");

    if (networkId == ObjectId.Null)
        return;

    using (Transaction Tx = 
        db.TransactionManager.StartTransaction())
    {
        using (AssocNetwork network = 
            Tx.GetObject(
                networkId, 
                OpenMode.ForRead, false) as AssocNetwork)
        {
            foreach (ObjectId actionId in network.GetActions)
            {
                if (actionId == ObjectId.Null)
                    continue;

                DBObject obj = Tx.GetObject(
                    actionId, 
                    OpenMode.ForRead);

                //ed.WriteMessage("\n - Action: " + obj.ToString().Remove(0, 34));

                if (actionId.ObjectClass.IsDerivedFrom(
                    RXObject.GetClass(
                        typeof(Assoc2dConstraintGroup))))
                {
                    Assoc2dConstraintGroup group = obj 
                        as Assoc2dConstraintGroup;

                    foreach(GeometricalConstraint constraint 
                        in group.Constraints)
                    {
                        //... do something ...
                    }
                }
            }
        }
    }
}

 

Regards,

Philippe.



Philippe Leefsma
Developer Technical Services
Autodesk Developer Network

Contributor
insiaiftiqhar
Posts: 19
Registered: ‎06-21-2012
Message 3 of 3 (165 Views)

Re: reading geomeric constraints

12-04-2012 12:34 PM in reply to: philippe.leefsma

I can't thank you enough for helping me. I had given up and was working on an alternate/not so elegant solution. Thank you SO very much!

Announcements
Are you familiar with the Autodesk Expert Elites? The Expert Elite program is made up of customers that help other customers by sharing knowledge and exemplifying an engaging style of collaboration. To learn more, please visit our Expert Elite website.
Need installation help?

Start with some of our most frequented solutions or visit the Installation and Licensing Forum to get help installing your software.