Programmation

Développement ObjectARX AutoCAD :
Module de conception de façades (mur Bois/Bloc)

Programmation

Programmation

Evaluez vos connaissances sur AutoCAD :
Questionnaires sur les Xréfs et sur les Blocs.

Code ObjectARX, C# et API



Extraits de code pour changer la couleur d’un objet (Entité) :


ObjectARX C++ API
void ChangeCoulObjet(AcDbObjectId idObjet, int inCouleur)
{
    AcDbEntity* adrEnt = NULL;
    acdbTransactionManager->startTransaction();
    if (acdbTransactionManager->getObject((AcDbObject*&)adrEnt, idObjet, AcDb::kForRead) == Acad::eOk)
    {
        if ((inCouleur <= 256) && (adrEnt->colorIndex() != inCouleur))
        {
            adrEnt->upgradeOpen();
            adrEnt->setColorIndex(inCouleur);
        }        
    }
    acdbTransactionManager->endTransaction();
}
 
▲haut de page

C#
public void ChangeCoulObjet(ObjectId idObjet, int inCouleur)
{
    Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
    Database adrDB = HostApplicationServices.WorkingDatabase;

    using (Transaction tr = adrDB.TransactionManager.StartTransaction())
    {
    Entity tmpEntite = (Entity)tr.GetObject(idObjet, OpenMode.ForRead, true);

    if ((inCouleur <= 256) && (tmpEntite.ColorIndex != inCouleur))
    {
    tmpEntite.UpgradeOpen();
    tmpEntite.ColorIndex = inCouleur;
    }        

    tr.Commit();
    }
}
 
▲haut de page