C # рдФрд░ рдСрдЯреЛрдХреИрдбред рдХреБрдЫ рдХрд╛рдо рдХреЗ рддрд░реАрдХреЗ


рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдпред


рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдСрдЯреЛрдХреИрдб + рд╕реА # рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рдЯреНрд░рд┐рдХреНрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╣реИред
рдореИрдВ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ "рд╕реА # рдХреЗ рд╕рд╛рде рдСрдЯреЛрдХреИрдб рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░рдирд╛" рд▓реЗрдЦ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░реВрдВрдЧрд╛ред рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ, SDK - ObjectARX рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдЯреЛрдХреИрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдореБрдЭреЗ рддреБрд░рдВрдд рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдореИрдВ рдПрдХ рдпреЛрдЧреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдирд╣реАрдВ рд╣реВрдВ, рдФрд░ рдореИрдВ рдХреЗрд╡рд▓ рд╢реМрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рд╢реМрдХреАрди рд╣реВрдВред рддреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ, рдХреГрдкрдпрд╛ рд╕рд╛рдордЧреНрд░реА рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рдореЗрдВ рдЧрд▓рддрд┐рдпрд╛рдБ рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВред

0. .net API рдФрд░ ObjectARX рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрдж рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗред


рдпрд╣рд╛рдБ .Net рдбреЗрд╡рд▓рдкрд░ рдЧрд╛рдЗрдб рд╣рдореЗрдВ рдмрддрд╛рддреА рд╣реИ (рдмреБрд╢рдореИрди рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд╡рд╛рджрд┐рдд, рд╕рдВрджрд░реНрдн рджреЗрдЦреЗрдВ):
рдСрдЯреЛрдХреИрдб .NET рдПрдкреАрдЖрдИ рдЖрдкрдХреЛ рдЙрдкрд▓рдмреНрдз рдЕрд╕реЗрдВрдмрд▓реА рдпрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдЯреЛрдХреИрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдбреНрд░рд╛рдЗрдВрдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдФрд░ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдкрд░рд┐рд╡реЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред


рдСрдЯреЛрдХреИрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╕реАрдзреЗ рдСрдЯреЛрдХреИрдб рд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ "рд╕реА # рдХреЗ рд╕рд╛рде рдСрдЯреЛрдХреИрдб рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛ ) рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯрд╛рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

ObjectARX Microsoft Visual C ++ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдСрдЯреЛрдХреИрдб рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╕реЗрдЯ рд╣реИред рдСрдЯреЛрдХреИрдб рдЦреБрдж ObjectARX рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред


"рд╕реНрд╡рдЪреНрдЫ" ObjectARX рдХреЛ C ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдЯреЛрдХреИрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреБрдЫ рд▓рд╛рдЗрдмреНрд░реЗрд░реА, .net рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ObjectARX рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд░реИрдкрд░ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИрдВред

ObjectARX рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИ рдФрд░ рдЗрд╕реЗ рдСрдЯреЛрдбреЗрд╕реНрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЖрдк рдПрдХ рд╣реА рдкрддреЗ рдкрд░ рд╡реНрдпрд╛рдкрдХ рдПрд╕рдбреАрдХреЗ рдкреНрд░рд▓реЗрдЦрди рднреА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЪреЗрддрд╛рд╡рдиреА! рдЖрдкрдХреЛ ObjectARX рдФрд░ рдСрдЯреЛрдХреИрдб рдХреЗ рд╕рдорд╛рди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП! рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдСрдЯреЛрдХреИрдб рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рд╕рдВрдЧрддрддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП рдСрдЯреЛрдХреИрдб рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрджрд▓рддреЗ рд╕рдордп рдЖрдкрдХреЛ рдирдП рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛! рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдЖрдкрдХреЛ ObjectARX рдФрд░ MS VS рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рд╕рдВрдЧрддрддрд╛ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ! рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдХреНрд░рдорд╢рдГ рдСрдЯреЛрдХреИрдб 2009, ObjectARX 2009, рдПрдордПрд╕ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2008 рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред

1. рдСрдЯреЛрдХреИрдб рдФрд░ рд╕реА # рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ .Net рдПрдкреАрдЖрдИ рдХреЗ рдмреАрдЪ рдмрд╛рддрдЪреАрдд рдХреЗ рддрд░реАрдХреЗред


рджреЛ рдореБрдЦреНрдп рддрд░реАрдХреЗ рд╣реИрдВ рдСрдЯреЛрдХреИрдб рдФрд░ рд╕реА # рдЗрдВрдЯрд░реИрдХреНрдЯ:

рдпрд╣ рд▓реЗрдЦ рджреВрд╕рд░реА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред

2. ObjectARX рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ


ObjectARX рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗрдЯ рдЪрд┐рддреНрд░ рдХреЗ рд╕рд╛рде рдФрд░ рдСрдЯреЛрдХреИрдб рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╕реЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

ObjectARX рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдкреНрд░рдореБрдЦ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:

рдЖрджрд┐

рдЖрдк рдбреЙрдХреНрдпреВрдореЗрдВрдЯ рдореЗрдВ ObjectArx рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ (ObjectARX \ docs \ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ) рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рднреА ObjectARX рдкреНрд░рд▓реЗрдЦрди (рдлрд╝реЛрд▓реНрдбрд░ \ ObjectARX \ рдирдореВрдиреЗ \) рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред

3. рдЙрджрд╛рд╣рд░рдг


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдиреАрдЪреЗ рд╣рдо рдСрдЯреЛрдХреИрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЫреЛрдЯреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рджреА рдЬрд╛рдПрдВрдЧреАред

рдкреНрд░реЛрдЧреНрд░рд╛рдо 2 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ: AcDbMgd.dll рдФрд░ AcMgd.dll \ ObjectARX \ inc-win32 \ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗред рдЙрдиреНрд╣реЗрдВ C # рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдСрдЯреЛрдХреИрдб рдореЗрдВ "рдиреЗрдЯрд▓реЛрдб" рдХрдорд╛рдВрдб (рдмрд┐рдирд╛ рдЙрджреНрдзрд░рдг рдХреЗ) рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╕рдВрдХрд▓рди рд╕реЗ рдЙрддреНрдкрдиреНрди рдбреАрдПрд▓ рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдХреНрд░рдорд╢рдГ рдирдП рдХрдорд╛рдВрдб (AddEntity рдФрд░ addBlock) рдХреЗ рдирд╛рдо рдкрд░ рдХреЙрд▓ рдХрд░реЗрдВ, рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛)ред

3.1ред рдореМрдЬреВрджрд╛ рдбреНрд░рд╛рдЗрдВрдЧ рдореЗрдВ рдирдП рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рд╡реНрд╕ рдЬреЛрдбрд╝рдирд╛

рдХреЛрдб рдЙрджрд╛рд╣рд░рдг 1
using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.Geometry; using Autodesk.AutoCAD.Runtime; using Autodesk.AutoCAD.EditorInput; namespace clExample { public class clExample { [CommandMethod("addEntity")] //  ,   Autocad public void addEntity() { //      Database dbCurrent = Application.DocumentManager.MdiActiveDocument.Database; //  ,      : using (Transaction trAdding = dbCurrent.TransactionManager.StartTransaction()) { //         Circle cNewCircle = new Circle(); cNewCircle.Center = new Point3d(0, 0, 0); cNewCircle.Radius = 100; cNewCircle.ColorIndex = 5; //     (    ) BlockTableRecord btrCurrSpace = trAdding.GetObject (dbCurrent.CurrentSpaceId, OpenMode.ForWrite) as BlockTableRecord; //        ObjectId oidCircle = btrCurrSpace.AppendEntity(cNewCircle); trAdding.AddNewlyCreatedDBObject(cNewCircle, true); //  trAdding.Commit(); } } } } 



рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдбреНрд░рд╛рдЗрдВрдЧ рдореЗрдВ рдЖрджрд┐рдо рдЬреЛрдбрд╝рдиреЗ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдЙрдирдХреЗ рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛, рдбреНрд░рд╛рдЗрдВрдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛, рдбреНрд░рд╛рдЗрдВрдЧ рдореЗрдВ рдПрдХ рдирдпрд╛ рдЖрджрд┐рдо рдЬреЛрдбрд╝рдирд╛ред рдХрдорд╛рдВрдб рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдмрд┐рдВрджреБ 0,0 рдкрд░ рдПрдХ рдЕрдЪреНрдЫрд╛ рдиреАрд▓рд╛ рд╕рд░реНрдХрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг 1 рдХрд╛ рдкрд░рд┐рдгрд╛рдо



2. рдПрдХ рдмреНрд▓реЙрдХ рдмрдирд╛рдирд╛ рдФрд░ рдЙрд╕рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдмрджрд▓рдирд╛

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдереЛрдбрд╝рд╛ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ: рдПрдХ рдирдпрд╛ рдмреНрд▓реЙрдХ рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдбреНрд░рд╛рдЗрдВрдЧ рдкрд░ рд░рдЦреЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдирдпрд╛ рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝реЗрдВ:

рдХреЛрдб рдЙрджрд╛рд╣рд░рдг 2
 [CommandMethod("createBlock")] //  ,   Autocad public void createBlock() { //      Database dbCurrent = Application.DocumentManager.MdiActiveDocument.Database; //    Editor edCurrent = Application.DocumentManager.MdiActiveDocument.Editor; //  ,      : using (Transaction trAdding = dbCurrent.TransactionManager.StartTransaction()) { //      BlockTable btTable = (BlockTable)trAdding.GetObject(dbCurrent.BlockTableId, OpenMode.ForRead); //         PromptStringOptions psoOpt = new PromptStringOptions("\n  : "); psoOpt.AllowSpaces = true; string strBlockName = ""; //        do { //      PromptResult prRes = edCurrent.GetString(psoOpt); //    .   if (prRes.Status != PromptStatus.OK) return; try { //        SymbolUtilityServices.ValidateSymbolName( prRes.StringResult, false ); //        if (btTable.Has(prRes.StringResult)) edCurrent.WriteMessage("\nA block with this name already exists."); else // ,    :) strBlockName = prRes.StringResult; } catch { edCurrent.WriteMessage("\nInvalid block name."); } } while (strBlockName == ""); //    //  ,     Line lNewLine = new Line(); lNewLine.StartPoint = new Point3d(0, 0, 0); lNewLine.EndPoint = new Point3d(50, 50, 0); lNewLine.ColorIndex = 3; Circle cNewCircle = new Circle(); cNewCircle.Center = new Point3d(0, 0, 0); cNewCircle.Radius = 100; cNewCircle.ColorIndex = 5; //    AttributeDefinition adAttr = new AttributeDefinition(); adAttr.Position = new Point3d(0, 0, 0); adAttr.Tag = "ATTRDEF"; //     BlockTableRecord btrRecord = new BlockTableRecord(); btrRecord.Name = strBlockName; btTable.UpgradeOpen(); //      ObjectId btrId = btTable.Add(btrRecord); trAdding.AddNewlyCreatedDBObject(btrRecord, true); //      btrRecord.AppendEntity(lNewLine); trAdding.AddNewlyCreatedDBObject(lNewLine, true); btrRecord.AppendEntity(cNewCircle); trAdding.AddNewlyCreatedDBObject(cNewCircle, true); //   btrRecord.AppendEntity(adAttr); trAdding.AddNewlyCreatedDBObject(adAttr, true); //       //    BlockTableRecord btrModelSpace = (BlockTableRecord)trAdding.GetObject( btTable[BlockTableRecord.ModelSpace], OpenMode.ForWrite ); //         BlockReference brRefBlock = new BlockReference(Point3d.Origin, btrId); //         btrModelSpace.AppendEntity(brRefBlock); trAdding.AddNewlyCreatedDBObject(brRefBlock, true); //    AttributeReference arAttr = new AttributeReference(); arAttr.SetAttributeFromBlock(adAttr, brRefBlock.BlockTransform); arAttr.TextString = "!"; brRefBlock.AttributeCollection.AppendAttribute(arAttr); trAdding.AddNewlyCreatedDBObject(arAttr, true); //   trAdding.Commit(); } } 



рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╡рд╕реНрддреБрдУрдВ - рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдмреНрд▓реЙрдХ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

1) рдПрдХ рдмреНрд▓реЙрдХ рдкрд░рд┐рднрд╛рд╖рд╛ рдмрдирд╛рдПрдВ (рдмреНрд▓реЙрдХрдЯреЗрдмрд▓ рдЯреЗрдмрд▓ рдХреЗ рдПрдХ рддрддреНрд╡ рдХреЗ рд░реВрдк рдореЗрдВ) рдФрд░ рдЗрд╕реЗ рдмреНрд▓реЙрдХ рдЯреЗрдмрд▓ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ (рдмреНрд▓реЙрдХ рдирд╛рдо рдХреА рд╢реБрджреНрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ);
2) рдмреНрд▓реЙрдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдердорд┐рдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдФрд░ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдмрдирд╛рдирд╛ рдФрд░ рдЬреЛрдбрд╝рдирд╛;
3) рдмреНрд▓реЙрдХ (BlockReference) рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдЙрд╕ рд╕реНрдерд╛рди рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рд╣рдореЗрдВ рд░реБрдЪрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЙрдбрд▓ рд╕реНрдерд╛рди);
4) рд╣рдо рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рди рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред

рд╕рдм рдХреБрдЫ, рдмреНрд▓реЙрдХ рддреИрдпрд╛рд░ рд╣реИред

рдЙрджрд╛рд╣рд░рдг 2 рдХрд╛ рдкрд░рд┐рдгрд╛рдо



рджреБрд░реНрднрд╛рдЧреНрдп


рдЗрд╕ рдкрд░ рдореИрдВрдиреЗ рдлреЗрд░реЗ рд▓реЗрдиреЗ рдХреА рдЬрд▓реНрджреА рдХреАред рд▓реЗрдЦ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдХреЛ рдзрдиреНрдпрд╡рд╛рдж, рдФрд░ рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ: рдореИрдВ рд╕рднреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ, рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рдВрдХреЗрдд рдФрд░ рдмрд╕ рдЖрд▓реЛрдЪрдирд╛рддреНрдордХ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдкрд░ рдЦреБрд╢реА рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛!
рдореИрдВ рдЖрдкрд╕реЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕рдВрдХреЗрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ рд╡рд┐рд╖рдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдЧреЗ рд▓рд┐рдЦрдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ рдФрд░ рдХреНрдпрд╛ рдпрд╣ рд╡рд┐рд╖рдп рдХрд┐рд╕реА рдХреЗ рд╣рд┐рдд рдореЗрдВ рд╣реИред

рд╕рд╛рд╣рд┐рддреНрдп


through-the-interface.typepad.com - рдХреАрди рд╡рд╛рд▓реНрд╕рдорд▓реЗ рдХрд╛ рдмреНрд▓реЙрдЧ, рдорд╣рд╛рди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣;
spiderinnet1.typepad.com - spiderinnet1 рдмреНрд▓реЙрдЧ, рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рдмреНрд▓реЙрдЧ;
sites.google.com/site/bushmansnetlaboratory - рд░реВрд╕реА рдСрдЯреЛрдХреИрдб рдиреЗрдЯ рдбреЗрд╡рд▓рдкрд░ рдЧрд╛рдЗрдб рдореЗрдВ рдЖрдВрд╢рд┐рдХ рдЕрдиреБрд╡рд╛рдж
www.theswamp.org - рдСрдЯреЛрдХреИрдб рдиреЗрдЯ рдкрд░ рдЕрдВрдЧреНрд░реЗрдЬреА-рднрд╛рд╖рд╛ рдордВрдЪред рдХрдИ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
www.caduser.ru - рд░реВрд╕реА-рднрд╛рд╖рд╛ рдордВрдЪред рдЕрдХреНрд╕рд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ .net рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЧреБрд░реБ рджреНрд╡рд╛рд░рд╛ рдбреНрд░реЙрдк рдФрд░ рдмрддрд╛рдУред рдЕрддреНрдпрдВрдд рдЙрдкрдпреЛрдЧреА рд╕рдВрд╕рд╛рдзрдиред
forum.autodesk.com - рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдСрдЯреЛрдХреИрдб рдлреЛрд░рдо рдПрдХ рдЕрдВрдЧреНрд░реЗрдЬреА рднрд╛рд╖рд╛ рдХрд╛ рдлреЛрд░рдо рд╣реИ (рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ рдФрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдорд╛рд░реНрдХрдЕрдк рдХреА рдХрдореА рд╕реЗ рдЖрдкрдХреА рдЖрдВрдЦреЗрдВ рдЦрд░рд╛рдм рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ) ред
рдСрдЯреЛрдХреИрдб рдиреЗрдЯ рдбреЗрд╡рд▓рдкрд░ Giude - рдСрдЯреЛрдХреИрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡реЗрджрди рдмрдирд╛рддреЗ рд╕рдордп рдореВрд▓ рд╕рд╛рд╣рд┐рддреНрдпред
forum.dwg.ru - рдПрдХ рдФрд░ рд░реВрд╕реА рднрд╛рд╖рд╛ рдХрд╛ рдордВрдЪ, рдЬреЛ рдСрдЯреЛрдХреИрдб рдХреЛ рд╕рдорд░реНрдкрд┐рдд рд╣реИ (рдзрдиреНрдпрд╡рд╛рдж BoxaShu )

Source: https://habr.com/ru/post/In149546/


All Articles