"рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕реАрдПрдбреА, рдореБрдлреНрдд рдореЗрдВ, рдФрд░ рдХрд┐рд╕реА рдХреЛ рдЬрд╛рдиреЗ рди рджреЗрдВ ..." рдпрд╛ рдкрд╛рдпрдерди рдореЗрдВ FreeCAD рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдкрд╣рд▓рд╛ рдХрджрдо

рд╢рд╛рдпрдж рдЖрдк рдиреИрдиреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реАрдПрдбреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдкрд╣рд▓реЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рдореЗрд░реЗ рдиреЛрдЯреНрд╕ рдкрд░ рдЖ рдЧрдПред

рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдПрдХ рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЬреЛ "рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдЕрдкрд░рд╛рдзреА" рдХреЗ рд╕реНрддрд░ рдкрд░ рд╕реАрдПрдбреА рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдирд╛ рдФрд░ рдЬрд╛рдирдирд╛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ, рдпрд╣ рдПрдХ рдЕрджреНрднреБрдд рд╕рд╛рд╣рд╕рд┐рдХ рдХрд╛рд░реНрдп рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, NanoCAD рдЕрднреА рднреА рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдПрдХ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдЙрддреНрдкрд╛рдж рд╣реИред рдЗрд╕рдХрд╛ рдореБрдлреНрдд рд╕рдВрд╕реНрдХрд░рдг рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓рдЧрднрдЧ рдЫрд╣ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЕрд╡рд╕рд░реЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреБрд░рд╛рдирд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред

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

рдЗрд╕рд▓рд┐рдП, рд╣реЙрдЯ рдкреАрдЫрд╛ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рд╛рдордЧреНрд░реА рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВ, рдХреЗрд╡рд▓ рдПрдХ рджрд┐рди рдореЗрдВ рдореИрдВрдиреЗ рд╕реАрдЦрд╛ рдХрд┐ рдХреИрд╕реЗ рдЗрд╕ рд╕реАрдПрдбреА рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рджреЛрд╕реНрддреЛрдВ рдХреЛ рдПрдирд╛рдХреЛрдВрдбрд╛ рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкрд╛рдпрдерди рдореЗрдВ рдПрдХ рд╕рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреА рд╣реИ рдЬреЛ рдкрд╛рда рдХреЗ рд╕рд╛рде рдПрдХ рдЫреЛрдЯрд╛ рд╡рд░реНрдЧ рдЦреАрдВрдЪрддреА рд╣реИ рдФрд░ рдЗрд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреЛ рдЪрд░рдгреЛрдВ рдореЗрдВ рдмрддрд╛рдиреЗ рдФрд░ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВ, рддрд╛рдХрд┐ рдЖрдк рднреА рдРрд╕рд╛ рдХрд░ рд╕рдХреЗрдВред

рдЕрдЬрдЧрд░ рдФрд░ FreeCAD рдХреЗ рдПрдХ рдЖрдХрд░реНрд╖рдХ рдЬреЛрдбрд╝реЗ рдХреЛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдлрд┐рд░ рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред




рд╕рд╛рдордЧреНрд░реА:

рднрд╛рдЧ I: рдкрд░рд┐рдЪрдп
рднрд╛рдЧ II: рдорд╛рдирдХ рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдкрд╣рд▓рд╛ рдирдореВрдирд╛
рднрд╛рдЧ III: рдЕрдм рдПрдирд╛рдХреЛрдВрдбрд╛ рдХреЗ рд╕рд╛рде FreeCad рдорд┐рддреНрд░ рдмрдирд╛рдПрдВ
рднрд╛рдЧ IV: рд▓реЗрдЦрди рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреБрд╕реНрддрдХрд╛рд▓рдп
рднрд╛рдЧ V: рдирд┐рд╖реНрдХрд░реНрд╖

рднрд╛рдЧ I: рдкрд░рд┐рдЪрдп


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

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

рддреЛ, FreeCAD рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдХрдВрдкреНрдпреВрдЯрд░-рдПрдбреЗрдб рдбрд┐рдЬрд╛рдЗрди рдкреНрд░рдгрд╛рд▓реА рд╣реИ, рдЬреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рддреНрд░рд┐-рдЖрдпрд╛рдореА рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рдореЙрдбрд▓рд┐рдВрдЧ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг 0.18.3 рд╣реИред рднреНрд░рдорд┐рдд рди рд╣реЛрдВ рдХрд┐ рд░рд┐рд▓реАрдЬрд╝ рдирдВрдмрд░ рдХрд╛ рдореВрд▓реНрдп рдПрдХ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИред FreeCAD рд▓рдВрдмреЗ рдФрд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реИ рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд╛рдлреА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдЗрд╕рдХреА 3 рдбреА рдореЙрдбрд▓рд┐рдВрдЧ рдФрд░ рдкреНрд░рд┐рдВрдЯрд┐рдВрдЧ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд▓реЛрдЧреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реНрд╡-рдирд┐рд░реНрдорд┐рдд рд╡реИрдЪрд╛рд░рд┐рдХ рд▓реЛрдЧреЛрдВ рдХреЗ рдмреАрдЪ рдЬреЛ рдУрдкрди рд╕реЛрд░реНрд╕ / рдУрдкрди рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдФрд░ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ DIY рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред

рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЕрдЪрд╛рдирдХ рдЖрдк 3D рдореЙрдбрд▓рд┐рдВрдЧ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ FreeCAD рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИред рд╕реАрдПрдбреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░, рдЬрд┐рд╕рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп 2 рдбреА рдбреНрд░рд╛рдЗрдВрдЧ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдмреАрдЖрдИрдПрдо рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реАрдЯ рдлреНрд░реЗрдо рдХреЛ рд╕рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред

рджрд░рдЕрд╕рд▓, рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдПрдХ "рдЧрд╛рдбрд╝реА рдФрд░ рдПрдХ рдЫреЛрдЯреА рдЧрд╛рдбрд╝реА" рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдЬ рд╣рдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЖрджрд┐рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ, рдХреЗрд╡рд▓ "рдЕрдкрдиреА рднреВрдЦ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП"ред


рднрд╛рдЧ II: рдорд╛рдирдХ рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдкрд╣рд▓рд╛ рдирдореВрдирд╛


FreeCAD рд╕рднреА рддреАрди рд╕рд╛рдорд╛рдиреНрдп рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рд╕реЗ рдореИрдВ "Apple" рддрдХрдиреАрдХ рд╕реЗ рд╡рдВрдЪрд┐рдд рд╣реВрдВ, рд╣рдо рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬ 10 рдФрд░ рд▓рд┐рдирдХреНрд╕ рдЯрдХрд╕рд╛рд▓ рдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред

FreeCAD рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╡рд┐рддрд░рдг рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рддрд░реАрдХреЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рдЕрдкрдиреЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдкрд╛рдпрдерди рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ (рдкрд╛рдпрдерди рд▓реЗрдЦ рд╕рдВрд╕реНрдХрд░рдг 3.6.6 рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдордп) рд╣реЛрдЧрд╛ред

FreeCAD рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╢рд╛рдпрдж рдиреИрдиреЛрдХреЛрдб рдпрд╛ рдСрдЯреЛрдХреИрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рднреА рдЖрд╕рд╛рди рд╣реИ, рдмрд╕ рд╡реНрдпреВ рдЯреИрдм -> рдкреИрдирд▓ -> рдЦреЛрд▓реЗрдВ рдФрд░ рдкрд╛рдпрдерди рдХрдВрд╕реЛрд▓ рдХреЛ рдЪрд╛рд▓реВ рдХрд░реЗрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╕рдм, рдЖрдк рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ, рдЖрдЗрдП рдирд┐рдпрдорд┐рдд рд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдЫ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡реГрддреНрддред
рдХрдВрд╕реЛрд▓ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ

Gui.activateWorkbench("DraftWorkbench") >>> App.newDocument("") >>> App.setActiveDocument("____________________") >>> App.ActiveDocument=App.getDocument("____________________") >>> Gui.ActiveDocument=Gui.getDocument("____________________") >>> Gui.activeDocument().activeView().viewDefaultOrientation() >>> import Draft >>> pl=FreeCAD.Placement() >>> pl.Rotation.Q=(0.0,0.0,1.5308084989341915e-17,1.0) >>> pl.Base=FreeCAD.Vector(-1.0610677003860474,-0.31207874417305,0.0) >>> circle = Draft.makeCircle(radius=0.8633861373365326,placement=pl,face=False,support=None) >>> Draft.autogroup(circle 



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

 x=-1.0610677003860474 pl=FreeCAD.Placement() pl.Rotation.Q=(0.0,0.0,1.5308084989341915e-17,1.0) pl.Base=FreeCAD.Vector(x*5,-0.31207874417305,0.0) circle = Draft.makeCircle(radius=0.8633861373365326,placement=pl,face=False,support=None) 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдм рджреЛ рд╕рд░реНрдХрд▓ рд╣реИрдВ, рдФрд░, рдЬреИрд╕рд╛ рдХрд┐ рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИ, рдкрд╣рд▓реЗ рд╕рд░реНрдХрд▓ рдХреЗ рдЖрдзрд╛рд░ рдмрд┐рдВрджреБ рдХреЗ рд╕рдордиреНрд╡рдп "x" рдХреЗ рджрд╛рдИрдВ рдУрд░ 5 рд╕реЗ рдЧреБрдгрд╛ рдХрд░реЗрдВред




рднрд╛рдЧ III: рдЕрдм рдПрдирд╛рдХреЛрдВрдбрд╛ рдХреЗ рд╕рд╛рде FreeCad рдорд┐рддреНрд░ рдмрдирд╛рдПрдВ


рд▓реЗрдХрд┐рди рд╕реАрдПрдбреА рдХреА рдХреНрд╖рдорддрд╛рдПрдВ рдПрдХ "рдЕрдкрд░рд╛рдзреА" рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирдХ рдЙрдкрдпреЛрдЧ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИрдВред API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, FreeCAD рдХреЛ рдЖрдкрдХреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдпрд╛ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдХреБрдЫ рдФрд░ рд╕рдордп рдкрд░ рджреЗрдЦреЗрдВрдЧреЗред

рдЗрд╕ рдмреАрдЪ, рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ, рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдк рдкрд╛рдпрдерди рдореЗрдВ рдорд╢реАрди рд╕реАрдЦрдиреЗ рдФрд░ рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд╢реМрдХреАрди рд╣реИрдВ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдирд╛рдХреЛрдВрдбрд╛ рд╡рд┐рддрд░рдг рдХрд┐рдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╢рд╛рдпрдж рдпрд╣ рдЬрд╛рдирдХрд░ рдмрд╣реБрдд рдЦреБрд╢ рд╣реЛрдВрдЧреЗ рдХрд┐ conda-forge рд╕реЗ рдзрдиреНрдпрд╡рд╛рдж рдХрд┐ рдЖрдк рдЗрд╕ рд╡рд┐рддрд░рдг рдХрд┐рдЯ рдФрд░ FreeCAD рдХреА рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд▓рд┐рдВрдХ рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдорд┐рдиреА-рдХреЛрдВрдбрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕реЗ рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдФрд░ рд╣рдо рдЗрд╕реЗ рдЕрдкрдиреЗ рдирд╛рд╡рд┐рдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреВрд░реНрдг-рд╡рд┐рдХрд╕рд┐рдд "рдПрдирд╛рдХреЛрдВрдбрд╛" рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗред

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



рд▓реЗрдХрд┐рди рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЛ conda-forge рдЪреИрдирд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдмрд╕ рдЙрд╕ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░реЗрдВ рдЬреЛ Add рдмрдЯрди "conda-forge" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдкреИрдХреЗрдЬ рдХреА рд╕реВрдЪреА рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИред



рд▓рдЧрднрдЧ рддреИрдпрд╛рд░ рдЕрдм рдпрд╣ FreeCAD рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ

рдкреИрдХреЗрдЬ рдХреЗ рдирд╛рдо рдкрд░ LMB рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЪреБрдиреЗрдВ рдХрд┐ рд╣рдо рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рджреА рдЧрдИ рддрд╕реНрд╡реАрд░ рдореЗрдВ рд╣реИ (рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ)



рдердХрд╛рдК рдЗрдВрддрдЬрд╛рд░ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЗ рдкрд╛рд╕ рдлреНрд░реАрдХрд╛рдб рд╡рд┐рддрд░рдг рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдЧрд╛, рд╡рд╛рдВрдЫрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЗрд╡рд▓ рд▓реЙрдиреНрдЪ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдмрд┐рдирд╛, рд╕рдмрд╕реЗ рд╕рд░рд▓ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рд╣рдорд╛рд░реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде рдХреЛрдВрдбрд╛ рдХрдВрд╕реЛрд▓ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЙрд╕реА рдирд╛рдо рдХреЗ FreeCAD рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде CAD рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред



рдПрдХ рдЦрд╛рд▓реА FreeCAD рд╡рд┐рдВрдбреЛ рдЦреБрд▓реЗрдЧреА рдЬрд┐рд╕рдореЗрдВ рд╣рдо рджреЛ-рдЖрдпрд╛рдореА рдбреНрд░рд╛рдЗрдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВред



рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдм рдкрд╛рдпрдерди рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рд╣реИ рдЬреЛ рдПрдХ рдорд╛рдирдХ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд╕рд╛рде рдерд╛ред


рдЖрдЗрдП рдПрдХ рдирдпрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдирд╛рдПрдВ (рдХрдВрдЯреНрд░реЛрд▓ + рдПрди)ред рдпрд╣ рд╣рдорд╛рд░реЗ рдорд┐рдиреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдЖрдПрдЧрд╛ред


рднрд╛рдЧ IV: рд▓реЗрдЦрди рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреБрд╕реНрддрдХрд╛рд▓рдп


рд╣рдорд╛рд░реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЖрджрд┐рдо рд╣реЛрдЧреАред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╣рдо рдПрдХ рдХрдорд╛рдВрдб рдмрдирд╛рдПрдВрдЧреЗ рдЬреЛ рдПрдХ рдЖрдпрдд рдмрдирд╛рдПрдЧреА рдЬрд┐рд╕рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдордирдорд╛рдирд╛ рдкрд╛рда рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ (рдореБрдЭреЗ рдореЗрд░рд╛ рдирд╛рдо "drawhabr.py") рдФрд░ рдЙрд╕рдореЗрдВ рдирд┐рдореНрди рдХреЛрдб рд▓рд┐рдЦреЗрдВ:

 #Simple lib for test Python API in FreeCad #Tested on Python 3.7. and FreeCad 0.18.3 #Designed for article - https://habr.com/ru/post/464113/ import FreeCAD, FreeCADGui, Part, Draft class stamp: "This class creates a rectangle with text. Coordinates are set by entering into the console." def __init__(self): self.view = FreeCADGui.ActiveDocument.ActiveView x=float(input("set x point ")) y=float(input("set y point ")) mtext=str(input("input text ")) self.drawstamp(mtext, x , y ) FreeCAD.Console.PrintMessage("\r\n Your object was successfully created") def drawstamp(self, mtext,x=0,y=0 ): "Method for placing a figure in model space." if (mtext==""): mtext="Hello Habr!" point=FreeCAD.Placement(FreeCAD.Vector(x,y,0), FreeCAD.Rotation(0,0,0), FreeCAD.Vector(0,0,0)) text = Draft.makeText(mtext,point=FreeCAD.Vector(x+0.25,y+0.55,0.0)) fontsize = 1.0 textwidth=(len(mtext)*fontsize*0.6)+0.35 textheight=fontsize+0.5 text.ViewObject.FontSize = fontsize text.ViewObject.FontName = "Courier" rec = Draft.makeRectangle(length=textwidth,height=textheight,placement=point,face=False,support=None) 

рдпрд╛ рдЖрдк рдмрд╕ GitHub рд╕реЗ рдлрд╛рдЗрд▓ рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдХреЛрдб рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред

 import FreeCAD, FreeCADGui, Part, Draft 

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

рдХреНрд▓рд╛рд╕ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ FreeCAD рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рд╕реЗ, рджреЛ рдЖрджреЗрд╢реЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 self.view = FreeCADGui.ActiveDocument.ActiveView FreeCAD.Console.PrintMessage("\r\n Your object was successfully created") 

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

рд╡рд┐рдзрд┐ рдХреЛрдб рднреА рд╕рд╣рдЬ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдордЭрд╛рддрд╛ рд╣реВрдВред

  def drawstamp(self, mtext,x=0,y=0 ): "Method for placing a figure in model space." if (mtext==""): mtext="Hello Habr!" 

рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрд╕рдХреЗ рдмрд┐рдирд╛, рд▓реЗрдмрд▓ рд╢рдмреНрдж рдкрд╛рда рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЖрдпрдд рдореЗрдВ рдЧрд▓рдд рд▓рдВрдмрд╛рдИ рд╣реЛрдЧреАред
 point=FreeCAD.Placement(FreeCAD.Vector(x,y,0), FreeCAD.Rotation(0,0,0), FreeCAD.Vector(0,0,0)) 


рдкрд╛рда рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╣рдорд╛рд░реЗ рдлреНрд░реЗрдо рдХреЗ рджрд┐рди рдХреЗ рдЖрдзрд╛рд░ рдмрд┐рдВрджреБ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред
рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛ рджреВрдВ рдХрд┐ рдбреЗрдЯрд╛ рдЗрдирдкреБрдЯ рд╕реЗ рдХрдВрд╕реЛрд▓ рддрдХ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдо FreeCAD.Vector (x, y, z) рдлреЙрд░реНрдо рдХреЗ рддреНрд░рд┐-рдЖрдпрд╛рдореА рд╕рдордиреНрд╡рдп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣рдо Z рд╕рдордиреНрд╡рдп рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдлреНрд░реЗрдо рдХреЗ рд░реЛрдЯреЗрд╢рди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдиреНрдп рдкреИрд░рд╛рдореАрдЯрд░ рд╕реНрдкрд░реНрд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

 text = Draft.makeText(mtext,point=FreeCAD.Vector(x+0.25,y+0.55,0.0)) 

Draft.makeText рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреЗрдХреНрд╕реНрдЯ рдмрдирд╛рдПрдВ, рдЗрд╕реЗ рдЙрд╕ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдкрд╛рд╕ рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рд╣реИред

рдлреНрд░реЗрдо рдХреЗ рдЖрдзрд╛рд░ рдмрд┐рдВрджреБ рд╕реЗ рдереЛрдбрд╝реА рдСрдлрд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд▓реЗрдВред

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

  text = Draft.makeText(mtext,point=FreeCAD.Vector(x+0.25,y+0.55,0.0)) fontsize = 1.0 textwidth=(len(mtext)*fontsize*0.6)+0.35 textheight=fontsize+0.5 text.ViewObject.FontSize = fontsize text.ViewObject.FontName = "Courier" 

рдпрд╣ рдХреЗрд╡рд▓ рдЖрдпрдд рдХреЗ рдбреНрд░рд╛рдЗрдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╣рдорд╛рд░реЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИ

 rec = Draft.makeRectangle(length=textwidth,height=textheight,placement=point,face=False,support=None) 

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╕рдм рд╣реИред

рдпрд╣ рдХреЗрд╡рд▓ рд╣рдорд╛рд░реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЪрдпрдирд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдмрд╛рдХреА рдкрд╛рдпрдерди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдерд┐рдд рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рдВрдбреЛрдЬ 10 рдХреЗ рд▓рд┐рдП, рдорд╛рд░реНрдЧ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдПрдирд╛рдХреЛрдВрдбрд╛ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд╕реНрдерд╛рди рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг):

C: \ Users \ YourUsernameName \ Anaconda3 \ envs \ freecad \ Lib

рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП, рдкрде рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛:

/home/ourUserName/anaconda3/envs/freecad/lib/python3.7

рд╕рднреА рд╣рдорд╛рд░реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╣рдорд╛рд░реЗ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ (рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рдмрд┐рдирд╛)

 import drawhabr 

рдФрд░ рдлрд┐рд░ рдХреНрд▓рд╛рд╕ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ

 drawhabr.stamp() 

рдпрд╣ рд╕рдм рдиреЗрддреГрддреНрд╡, рдХрд╛рд░реНрдп рдорд╛рдкрджрдВрдбреЛрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЖрдирдВрдж рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред



рдмрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣рд╛рдБ рдПрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рд▓рд┐рдирдХреНрд╕ рдкрд░ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред




рднрд╛рдЧ V: рдирд┐рд╖реНрдХрд░реНрд╖


рдЖрдЬ, рд╣рдордиреЗ FreeCAD API рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдХрджрдо рдЙрдард╛рдпрд╛ рд╣реИред
рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рджреЛ-рдЖрдпрд╛рдореА рдбреНрд░рд╛рдЗрдВрдЧ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП, FreeCAD рдСрдЯреЛрдХреИрдб (рдиреИрдиреЛрд╕реАрдПрдбреА) рдпрд╛ рдЕрдиреНрдп рд╕рд╛рдорд╛рдиреНрдп рд╕реАрдПрдбреА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред

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

рдФрд░ рдЗрд╕ рддрдереНрдп рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд▓рд╛рд▓рдЪреА рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ LGPL рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд FreeCAD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╡рд┐рдХрд╛рд╕ рдХреА рднреА рдЕрдиреБрдорддрд┐ рджреЗрдВ рдФрд░ рдкрд╛рдпрдерди рдкреНрд▓рдЧ-рдЗрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдкреВрд░реА рд╢рдХреНрддрд┐ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╣реА рдПрдирд╛рдХреЛрдВрдбрд╛ рдХрд┐рдЯ рд╕реЗ), FreeCAD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╡рд┐рдХрд╛рд╕ рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧрддрд╛ рд╣реИред рдХрд╛рд░реНрдпред
рдЕрдЧрд░ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдирд╛рдиреЛрдХрдб рдХреЗ рд╕рд╛рде рд╕рд╛рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛ рдиреЛрдЯреЛрдВ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рдЪрдХреНрд░ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛

NanoCAD рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реНрд░реГрдВрдЦрд▓рд╛

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


All Articles