MultiCAD .NET рдПрдкреАрдЖрдИ рдкрд░ рдПрдХ рдкрд╛рда рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдПрдХ nanoCAD рдбреНрд░рд╛рдЗрдВрдЧ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЖрдпрд╛рдд рдХрд░реЗрдВ



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

рдПрдХ рдХрд╛рдордХрд╛рдЬреА рдорд╕реМрджрд╛ рддреИрдпрд╛рд░ рдХрд░рдирд╛ рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЙрд╕реА рддрд░рд╣ рдмрдирд╛рдИ рдЧрдИ рд╣реИ:


рдЖрдкрдХреЛ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рд╣реИ рдХрд┐ mapimgd.dll рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ, рдЬреЛ nanoCAD SDK рдХреЗ рд╕рд╛рде рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ 4.0 рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╢реБрд░реВ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдиреИрдиреЛрдХреИрдб рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдСрдЯреЛрдХреИрдб рджреЛрдиреЛрдВ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдкрд░ рдЪрд▓ рд░рд╣реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╡рд┐рдиреНрдпрд╛рд╕ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣рддрд╛ рд╣реИред рдпрджрд┐ рдкрд┐рдЫрд▓реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рджреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдереЗ - рдбреАрдмрдЧ NCAD рдФрд░ рдбреАрдмрдЧ ACAD, рддреЛ рдпрд╣ рдПрдХ рд╣реЛрдЧрд╛ - рдбреАрдмрдЧ рдорд▓реНрдЯреАрдмреИрдбред

рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЖрдпрд╛рдд рдХрд░реЗрдВ рдФрд░ рдбреНрд░рд╛рдЗрдВрдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЖрджрд┐рдо рдЬреЛрдбрд╝реЗрдВ

рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдХреЛрдб (рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлреЙрд░реНрдо, рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХрд╛ рд╕рдВрдЧрдарди, рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХрд╛ рдЖрдпрд╛рдд) рдХреА рд╕рдВрд░рдЪрдирд╛ рд╕рдорд╛рди рд░рд╣рддреА рд╣реИ, рдЬрдмрдХрд┐ Importer рдФрд░ Creator рд╡рд░реНрдЧ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреЛрдб рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрддрд╛ рд╣реИ, рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рддреЛ, Creator.createPoints() рд╡рд┐рдзрд┐, рдЗрдирдкреБрдЯ рд╕рдордиреНрд╡рдп рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рдЕрдВрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдЕрдм рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 public static void CreatePoints(List coords) { for(int i = 0; i<coords.Count-2; i += 3) { // Create a point object DbPoint point = new DbPoint(); // Set the position for the point object point.Position = new Point3d(coords[i], coords[i + 1], coords[i + 2]); // Add the point entity to the current document point.DbEntity.AddToCurrentDocument(); } } 


рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдХреНрд▓рд╛рд╕рд┐рдХ .NET API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЕрдВрдХ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреИрд╕реА рджрд┐рдЦрддреА рд╣реИ:

 public static void CreatePoints(List coords) { DocumentCollection dm = Platform.ApplicationServices.Application.DocumentManager; Database db = dm.MdiActiveDocument.Database; using (db) { // Create a transaction using (Transaction tr = db.TransactionManager.StartTransaction()) { // Get the table block record for current drawing space BlockTableRecord btr = (BlockTableRecord)tr.GetObject(db.CurrentSpaceId, OpenMode.ForWrite); for (int i = 0; i < coords.Count - 2; i += 3) { // Create a point object DBPoint point = new DBPoint(new Point3d(coords[i], coords[i + 1], coords[i + 2])); // Append the point to the database btr.AppendEntity(point); // Add the object to the transaction tr.AddNewlyCreatedDBObject(point, true); } btr.Dispose(); // Commit the transaction tr.Commit(); } } } 


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

рдбреНрд░рд╛рдЗрдВрдЧ рдореЗрдВ рдЕрдВрдХ рдЬреЛрдбрд╝рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рд╢рд╛рдмреНрджрд┐рдХ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдзреНрдпрд╛рди рджреЗрдВред рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛ (рдпрд╣ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИ), рд╣рдо рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдорд▓реНрдЯреАрдХрд╛рдб рдПрдкреАрдЖрдИ рдЧреНрд░рд╛рдлрд┐рдХ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреЗ рддреАрди рд╕реНрддрд░реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ: рд╢реБрджреНрдз "рдЧрдгрд┐рддреАрдп" рдЬреНрдпрд╛рдорд┐рддрд┐, рдЬреНрдпрд╛рдорд┐рддрд┐ рдЖрджрд┐рдо рдХреЗ рдореВрд▓ рдЧреБрдгреЛрдВ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд: рд░рдВрдЧ, рдореЛрдЯрд╛рдИ рдФрд░ рд░реЗрдЦрд╛ рд╢реИрд▓реА, рдЖрджрд┐, рдФрд░ рд╕реНрддрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдордиреЗ рдПрдХ рдорд╛рдирдХ DbPoint рдЬреНрдпрд╛рдорд┐рддреАрдп рд╡рд╕реНрддреБ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛, рдЗрд╕рдХреЗ рдЬреНрдпрд╛рдорд┐рддреАрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрддрд░ рдкрд░ рдЬрд╛рдиреЗ рдФрд░ рдЖрд░реЗрдЦрдг рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП DbEntity рдЧреБрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рд╡рд░реНрддрдорд╛рди рдбреНрд░рд╛рдЗрдВрдЧ рд╕реНрдерд╛рди рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ: AddToCurrentDocument() рд╡рд┐рдзрд┐ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд AddToCurrentDocument() рдХрд┐ рдХреМрди рд╕рд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╡рд░реНрддрдорд╛рди рд╣реИ рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреМрди рд╕рд╛ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╣реИред

NanoCAD рдФрд░ AutoCAD рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ

рдЕрдм рдЬрдм рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП .NET рдЕрд╕реЗрдВрдмрд▓реА рдмрдирд╛рдИ рдЧрдИ рд╣реИ, рддреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рддрд╣рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред


рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдпрд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз рд╣реИ ред

рд▓реЗрдЦ рдХреА рдЪрд░реНрдЪрд╛ рд╣рдорд╛рд░реЗ рдордВрдЪ рдкрд░ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИ: forum.nanocad.ru/index.php?showtopic=6509 ред

рд▓реЗрдЦ рдХрд╛ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдЕрдиреБрд╡рд╛рдж: рдПрдХ рдкрд╛рда рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХрд╛ рдЖрдпрд╛рдд рдХрд░рдирд╛, рдЬрд┐рд╕рдореЗрдВ рдорд▓реНрдЯреАрдХрд╛рдбрдиреЗрдЯ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдиреИрдиреЛрдХрд╛рдб рдбреНрд░рд╛рдЗрдВрдЧ рд╣реИ ред

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


All Articles