MultiCAD.NET рдореЗрдВ рдХрд╕реНрдЯрдо рдЖрджрд┐рдо рдХрд╛ рдЪрдпрди рдФрд░ рд╕рдВрдкрд╛рджрди



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

рддреЛ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХрд╕реНрдЯрдо рдЖрджрд┐рдо рд╣реИ, рдЬреЛ рдПрдХ рдЖрдпрддрд╛рдХрд╛рд░ рдлреНрд░реЗрдо рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЕрдВрджрд░ рдПрдХ рдкрд╛рда рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИред рдЖрдЗрдП рдПрдХ рдбреНрд░рд╛рдЗрдВрдЧ рдореЗрдВ рдХрдИ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рджреЗрдЦреЗрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЪрдпрдирд┐рдд рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рд╡ рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдмрджрд▓реЗрдВред



рдбреНрд░рд╛рдЗрдВрдЧ рдореЗрдВ рдХрд┐рд╕реА рдПрдХрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, MultiCAD.NET SelectObject () рдСрдмреНрдЬреЗрдХреНрдЯ рдореИрдиреЗрдЬрд░ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:

public static McObjectId SelectObject(string sPromt); public static McObjectId SelectObject(string sPromt, ref Point3d pnt); 

рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдПрдХ рдкреНрд░рд╛рдВрдкреНрдЯ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рджреВрд╕рд░реА рд╡рд┐рдзрд┐, рдкреНрд░реЙрдореНрдкреНрдЯ рд▓рд╛рдЗрди рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рдореЗрдВ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рднреА рд╣реЛрддрд╛ рд╣реИ - рдЬрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдХрдИ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, SelectObjects() рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

 public static List SelectObjects(ObjectFilter filter); public static McObjectId[] SelectObjects(string sPromt); 

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

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

 [CommandMethod("SelectCircles", CommandFlags.NoCheck | CommandFlags.NoPrefix)] static public void SelectCirclesCmd() { ObjectFilter filter = ObjectFilter.Create(true).AddType(DbCircle.TypeID); filter.Bound = new BoundBlock(Point3d.Origin, new Vector3d(10, 0, 0), new Vector3d(0, 10, 0), new Vector3d(0, 0, 10)); List<McObjectId> ids = filter.GetObjects(); } 


рдбреНрд░рд╛рдЗрдВрдЧ рдореЗрдВ рд╕рднреА рд╣рд▓рдХреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рди рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди рд╢реАрдЯ рдкрд░), рдПрдХ рдЦреЛрдЬ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдбреНрд░рд╛рдЗрдВрдЧ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЬреЛрдбрд╝реЗрдВ:

 ObjectFilter filter = ObjectFilter.Create(false).SetCurentDocument().AddType(DbCircle.TypeID); 


рдПрдХ рдирдпрд╛ TextInBoxEdit рдХрдорд╛рдВрдб рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░реЗрдВ рдФрд░ рдХрд╕реНрдЯрдо рд╕реЗрд▓реЗрдХреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реЗрдВред рдлрд┐рд░, рдЪрдпрдирд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдкреВрд░реЗ рд╕реЗрдЯ рд╕реЗ, рд╣рдо TextInBox рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрджрд┐рдо рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ:

 [CommandMethod("TextInBoxEdit", CommandFlags.NoCheck | CommandFlags.NoPrefix)] static public void TextInBoxEditCmd() { McObjectId[] idSelecteds = McObjectManager.SelectObjects("Select TextInBox primitives to edit"); McObjectId[] idSelectedTextinBox = Array.FindAll(idSelecteds, (s => (s.GetObject()) is TextInBox)); } 




рдпрджрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдПрдХ рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рд╡ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рд╣рдо Text рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

 if (idSelectedTextinBox == null || idSelectedTextinBox.Length == 0) { MessageBox.Show("No TextInBox primitives selected!"); return; } foreach (McObjectId currID in idSelectedTextinBox) { (currID.GetObject() as TextInBox).Text = "Changed text"; } 


рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдкрд╛рда рдХреЛ рд╕рднреА рдЪрдпрдирд┐рдд рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред



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

рд▓реЗрдЦ рдХрд╛ рдЕрдВрдЧреНрд░реЗрдЬреА рд╕рдВрд╕реНрдХрд░рдг: рдорд▓реНрдЯреАрдХрд╛рдб.рдиреЗрдЯ рдореЗрдВ рдХрд╕реНрдЯрдо рд╕рдВрд╕реНрдерд╛рдУрдВ рдХрд╛ рдЪрдпрди рдФрд░ рд╕рдВрдкрд╛рджрди ред

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


All Articles