Manipulando Custom Properties
Olá pessoal, boa noite!
Estou tentando editar os valores das propriedades customizadas em um desenho usando API AutoCAD.Net e C#
Obs: AutoCAD2018 e VS2015
conforme mostrado no código abaixo, eu consigo adicionar uma nova propriedade porem não estou conseguindo criar um método para editar o valor de uma propriedade.
public void ManipulaDWGProps()
{
Document acDoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
Database acdb = acDoc.Database;
Editor ed = acDoc.Editor;
DatabaseSummaryInfo infos = acdb.SummaryInfo;
DatabaseSummaryInfoBuilder objSumBuilder = new DatabaseSummaryInfoBuilder(acdb.SummaryInfo);
using (DocumentLock doclock = acDoc.LockDocument())
{
DatabaseSummaryInfoBuilder infobuilder = new DatabaseSummaryInfoBuilder(acdb.SummaryInfo);
// adicionando uma nova propriendade
infobuilder.CustomPropertyTable.Add("Teste","valor1");
DatabaseSummaryInfo dbInfo = infobuilder.ToDatabaseSummaryInfo();
acdb.SummaryInfo = dbInfo;
}
}
Atenciosamente.
Márcio L.
Re: Manipulando Custom Properties
Olá pessoal, boa noite!
Consegui resolver este meu problema utilizando Interop, fiz da seguinte forma.
de certa forma resolveu meu problema mas se alguém tiver alguma outra ideia para este caso sintam-se a vontade em comentar.
obrigado
public void test()
{
AcadDocument doc = (AcadDocument)AcadApp.DocumentManager.MdiActiveDocument.GetAcadDocument();
doc.SummaryInfo.SetCustomByKey("key1", "novo valor");
doc.Save();
}
Quote:
Originally Posted by
Cartacho
Olá pessoal, boa noite!
Estou tentando editar os valores das propriedades customizadas em um desenho usando API AutoCAD.Net e C#
Obs: AutoCAD2018 e VS2015
conforme mostrado no código abaixo, eu consigo adicionar uma nova propriedade porem não estou conseguindo criar um método para editar o valor de uma propriedade.
public void ManipulaDWGProps()
{
Document acDoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
Database acdb = acDoc.Database;
Editor ed = acDoc.Editor;
DatabaseSummaryInfo infos = acdb.SummaryInfo;
DatabaseSummaryInfoBuilder objSumBuilder = new DatabaseSummaryInfoBuilder(acdb.SummaryInfo);
using (DocumentLock doclock = acDoc.LockDocument())
{
DatabaseSummaryInfoBuilder infobuilder = new DatabaseSummaryInfoBuilder(acdb.SummaryInfo);
// adicionando uma nova propriendade
infobuilder.CustomPropertyTable.Add("Teste","valor1");
DatabaseSummaryInfo dbInfo = infobuilder.ToDatabaseSummaryInfo();
acdb.SummaryInfo = dbInfo;
}
}
Atenciosamente.
Márcio L.