SWAP PIPE NETWORK BY C#

SWAP PIPE NETWORK BY C#

khang.civil.2000
Contributor Contributor
471 Views
0 Replies
Message 1 of 1

SWAP PIPE NETWORK BY C#

khang.civil.2000
Contributor
Contributor

Hi All,

I have writen code to Swap Multi Pipe in Network .But when run,it can't apply part size new. 

I don't know the error here.

Can you help I fix this error?

Thanks you very much!

This my code:

acad.Document _doc = acad.Application.DocumentManager.MdiActiveDocument;
Database db = _doc.Database;
Editor _ed = _doc.Editor;
_civil.CivilDocument _civildoc = _civil.CivilApplication.ActiveDocument;
using (acad.DocumentLock _lock = _doc.LockDocument())
{
using (Transaction _tr = db.TransactionManager.StartTransaction())
{
ObjectId[] _PipeIDs = Gvar._PipeID;
Pipe _Pipe = (Pipe)_tr.GetObject(_PipeIDs[0], OpenMode.ForWrite);
Network _Network = (Network)_tr.GetObject(_Pipe.NetworkId, OpenMode.ForWrite);
PartsList _PartList = (PartsList)_tr.GetObject(_Network.PartsListId, OpenMode.ForWrite);
ObjectIdCollection _PartFamilyCol = _PartList.GetPartFamilyIdsByDomain(DomainType.Pipe);
PartFamily _PartFamilyPipe = (PartFamily)_tr.GetObject(_PartFamilyCol[cmb_PartFamilyType.SelectedIndex], OpenMode.ForWrite);
ObjectId _newPartID = ObjectId.Null;
for (int i = 0; i < _PipeIDs.Length; i++)
{
Pipe _pipe1 = (Pipe)_tr.GetObject(_PipeIDs[i], OpenMode.ForWrite);
_pipe1.SwapPartFamilyAndSize(_PartFamilyCol[cmb_PartFamilyType.SelectedIndex], _PartFamilyPipe[cmb_PartSize.SelectedIndex]);
}


_tr.Commit();
}

}

0 Likes
472 Views
0 Replies
Replies (0)