{"id":1256,"date":"2021-10-17T13:52:19","date_gmt":"2021-10-17T13:52:19","guid":{"rendered":"https:\/\/www.parametriczoo.com\/?page_id=1256"},"modified":"2023-10-01T16:12:10","modified_gmt":"2023-10-01T16:12:10","slug":"kukaprc-tool-path-optimizer","status":"publish","type":"page","link":"https:\/\/www.parametriczoo.com\/index.php\/products\/kukaprc-tool-path-optimizer\/","title":{"rendered":"KUKA|prc Tool-path optimizer"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; specialty=&#8221;on&#8221; padding_top_1=&#8221;60px&#8221; padding_1_tablet=&#8221;0px||&#8221; padding_1_phone=&#8221;&#8221; padding_1_last_edited=&#8221;on|tablet&#8221; admin_label=&#8221;Header&#8221; _builder_version=&#8221;4.16&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;1_2&#8243; specialty_columns=&#8221;2&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; padding_top__hover=&#8221;60px&#8221; parallax__hover=&#8221;off&#8221; parallax_method__hover=&#8221;on&#8221; padding_tablet__hover=&#8221;0px||&#8221; padding_last_edited__hover=&#8221;on|tablet&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_row_inner _builder_version=&#8221;4.16&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_column_inner saved_specialty_column_type=&#8221;1_2&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; parallax__hover=&#8221;off&#8221; parallax_method__hover=&#8221;on&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_divider show_divider=&#8221;off&#8221; _builder_version=&#8221;4.16&#8243; max_width=&#8221;48px&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][et_pb_text _builder_version=&#8221;4.16&#8243; text_font=&#8221;||||||||&#8221; text_line_height=&#8221;2em&#8221; header_font=&#8221;Poppins|600|||||||&#8221; header_font_size=&#8221;50px&#8221; header_line_height=&#8221;1.3em&#8221; header_font_size_tablet=&#8221;30px&#8221; header_font_size_phone=&#8221;24px&#8221; header_font_size_last_edited=&#8221;on|phone&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h2>KUKA|prc tool path optimizer<\/h2>\n<p>[\/et_pb_text][\/et_pb_column_inner][\/et_pb_row_inner][et_pb_row_inner use_custom_gutter=&#8221;on&#8221; gutter_width=&#8221;2&#8243; _builder_version=&#8221;4.16&#8243; custom_margin=&#8221;-13px|||||&#8221; custom_padding=&#8221;9.7px|0px|0|0px|false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column_inner saved_specialty_column_type=&#8221;1_2&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; parallax__hover=&#8221;off&#8221; parallax_method__hover=&#8221;on&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text _builder_version=&#8221;4.17.4&#8243; text_font=&#8221;||||||||&#8221; text_line_height=&#8221;2em&#8221; header_font=&#8221;Poppins|600|||||||&#8221; header_font_size=&#8221;40px&#8221; header_line_height=&#8221;1.3em&#8221; hover_enabled=&#8221;0&#8243; text_font_size_tablet=&#8221;16px&#8221; text_font_size_phone=&#8221;14px&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<p><a href=\"https:\/\/www.robotsinarchitecture.org\/kuka-prc\">Kuka|prc<\/a> is a collection of <a href=\"https:\/\/www.grasshopper3d.com\/\">grasshopper<\/a> components which enables users to control the <a href=\"https:\/\/www.kuka.com\/\">KUKA<\/a> robots parametrically.\u00a0<span style=\"font-size: 18px;\">While you are able to solve inverse kinematics for different models of robots and control the robot arms by setting up a predefined tool-path, you may not able to avoid collisions if they arise during the simulation.\u00a0<\/span><\/p>\n<p>The aim of <strong><em>tool-path optimizer<\/em><\/strong> component is to find a collision free solution for a given tool-path by rotating the tool about its rotary axis.\u00a0<span style=\"font-size: 18px;\">This process include printing the axial map by analyzing the all possible tool-paths with different rotation degree and then finding a set of rotations within the map which contains no collisions or singularity.\u00a0\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/www.parametriczoo.com\/wp-content\/uploads\/2021\/11\/collision-map.jpg&#8221; title_text=&#8221;collision-map&#8221; align_tablet=&#8221;center&#8221; align_phone=&#8221;center&#8221; align_last_edited=&#8221;on|desktop&#8221; _builder_version=&#8221;4.17.4&#8243; custom_margin=&#8221;|-1vw||||&#8221; custom_margin_tablet=&#8221;||&#8221; custom_margin_phone=&#8221;&#8221; custom_margin_last_edited=&#8221;on|phone&#8221; animation_style=&#8221;slide&#8221; animation_direction=&#8221;right&#8221; animation_intensity_slide=&#8221;2%&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; width=&#8221;92%&#8221; sticky_enabled=&#8221;0&#8243;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<p><b>Collison<\/b><strong>\u00a0MAP<\/strong><\/p>\n<p><span>Collision map is the visual representation of collision zones in the toolpath. The X axis is the position of the tool along the toolpath from the start to the end position. Y axis represent the degree of the rotation of\u00a0 the axis 6. The black the polyline represent\u00a0the optimized\u00a0axis. Collisions , out of reach areas and singularities\u00a0\u00a0are presented with different colors, Your task is find a collision free path within the white zone from the start to end of the tool-path. This path is normally found by the component\u00a0automatically\u00a0after generation of the map.\u00a0<\/span><span style=\"font-size: 14px;\">In case the Tool-path optimizer is not able to find a solution in the rendered axis map or if the automatic solution(s) still contains collisions , then it is possible to tweak the path within the axis map by adding or removing the control points. To edit the path simply zoom on the axis map display till the yellowish control points appear along the path. To add a control point simply click on a path segment and to remove one drag it out side the display. Modify the path till it is completely within the white zone of the axis map. If the KUKA|prc analysis is still showing collisions then you may need to increase the resolution or the domain of the axis map.<\/span><\/p>\n<p>It is important to note the robot settings in the optimizer component must be identical to the KUKA|prc Core component which runs the simulation.<\/p>\n<p>&nbsp;<\/p>\n<p>[\/et_pb_text][\/et_pb_column_inner][\/et_pb_row_inner][\/et_pb_column][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; parallax__hover=&#8221;off&#8221; parallax_method__hover=&#8221;on&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_image src=&#8221;https:\/\/www.parametriczoo.com\/wp-content\/uploads\/2023\/10\/v2ui.jpg&#8221; align=&#8221;right&#8221; align_tablet=&#8221;center&#8221; align_phone=&#8221;center&#8221; align_last_edited=&#8221;on|desktop&#8221; _builder_version=&#8221;4.17.4&#8243; custom_margin_tablet=&#8221;0px|10vw||10vw||true&#8221; custom_margin_phone=&#8221;&#8221; custom_margin_last_edited=&#8221;on|desktop&#8221; animation_style=&#8221;roll&#8221; animation_direction=&#8221;top&#8221; animation_intensity_roll=&#8221;1%&#8221; hover_enabled=&#8221;0&#8243; border_radii=&#8221;on|8px|8px|8px|8px&#8221; border_color_all=&#8221;#000000&#8243; global_colors_info=&#8221;{}&#8221; title_text=&#8221;v2ui&#8221; sticky_enabled=&#8221;0&#8243; force_fullwidth=&#8221;on&#8221;][\/et_pb_image][et_pb_code _builder_version=&#8221;4.17.4&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243;]<script src=\"js\/scripts.js\"><\/script><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <!-- Set up a container element for the table --><!-- [et_pb_line_break_holder] --> <!-- [et_pb_line_break_holder] -->\t<\/p>\n<table class=\"license-table-class license-table-class-dark\" style=\"text-align: center;\"  id=\"testBody\">    <!-- [et_pb_line_break_holder] --><\/table>\n<p><!-- [et_pb_line_break_holder] -->  <script><!-- [et_pb_line_break_holder] -->   <!-- [et_pb_line_break_holder] -->jQuery( document ).ready(async function( $ ) {<!-- [et_pb_line_break_holder] -->    \/\/ Add jQuery code here, using $ to refer to jQuery.<!-- [et_pb_line_break_holder] -->   let products = await getProducts(\"toolpathOpt1.5\");<!-- [et_pb_line_break_holder] -->   <!-- [et_pb_line_break_holder] -->  loadTableData(\"testBody\",products);<!-- [et_pb_line_break_holder] -->   <!-- [et_pb_line_break_holder] -->});<!-- [et_pb_line_break_holder] -->    <\/script>[\/et_pb_code][et_pb_button button_text=&#8221;Download&#8221; _builder_version=&#8221;4.17.4&#8243; _module_preset=&#8221;default&#8221; button_url=&#8221;https:\/\/www.food4rhino.com\/en\/app\/robotic-tool-path-optimizer&#8221; url_new_window=&#8221;on&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243; button_alignment=&#8221;center&#8221; custom_button=&#8221;on&#8221; button_text_color=&#8221;#FFFFFF&#8221; box_shadow_style=&#8221;preset3&#8243; button_bg_color=&#8221;#0da8e5&#8243; button_bg_enable_color=&#8221;on&#8221; button_text_size=&#8221;26px&#8221; button_letter_spacing=&#8221;18px&#8221; button_text_shadow_style=&#8221;preset3&#8243;][\/et_pb_button][\/et_pb_column][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;About&#8221; _builder_version=&#8221;4.16&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_row column_structure=&#8221;2_5,3_5&#8243; _builder_version=&#8221;4.16&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;2_5&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_column][et_pb_column type=&#8221;3_5&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;Process&#8221; _builder_version=&#8221;4.16&#8243; background_color=&#8221;#dadada&#8221; background_image=&#8221;https:\/\/www.parametriczoo.com\/wp-content\/uploads\/2021\/11\/ViewCapture20211107_114207.png&#8221; background_size=&#8221;initial&#8221; background_blend=&#8221;color-burn&#8221; custom_margin=&#8221;|40px||40px|false|true&#8221; custom_padding=&#8221;||10px|||&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.16&#8243; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text _builder_version=&#8221;4.16&#8243; text_font=&#8221;||||||||&#8221; text_line_height=&#8221;2em&#8221; header_font=&#8221;Poppins|600|||||||&#8221; header_font_size=&#8221;40px&#8221; header_line_height=&#8221;1.3em&#8221; header_2_font=&#8221;Poppins|600|||||||&#8221; header_2_font_size=&#8221;32px&#8221; header_2_line_height=&#8221;1.6em&#8221; text_orientation=&#8221;center&#8221; max_width=&#8221;700px&#8221; module_alignment=&#8221;center&#8221; header_2_font_size_tablet=&#8221;24px&#8221; header_2_font_size_phone=&#8221;18px&#8221; header_2_font_size_last_edited=&#8221;on|phone&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h2>Embedded Controls<\/h2>\n<p>The following controls are embedded in KUKA|prc tool path optimizer component and can be adjusted directly from the component. \u00a0<\/p>\n<p>&nbsp;<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;1_3,1_3,1_3&#8243; _builder_version=&#8221;4.16&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_image src=&#8221;https:\/\/www.parametriczoo.com\/wp-content\/uploads\/2021\/11\/interpolation.jpg&#8221; title_text=&#8221;interpolation&#8221; align=&#8221;right&#8221; _builder_version=&#8221;4.16&#8243; custom_margin=&#8221;0px||||false|false&#8221; custom_margin_tablet=&#8221;&#8221; custom_margin_phone=&#8221;&#8221; custom_margin_last_edited=&#8221;on|tablet&#8221; border_width_all=&#8221;1px&#8221; border_color_all=&#8221;#000000&#8243; box_shadow_style=&#8221;preset1&#8243; always_center_on_mobile=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.16&#8243; text_font=&#8221;||||||||&#8221; text_font_size=&#8221;12px&#8221; text_line_height=&#8221;2em&#8221; header_font=&#8221;||||||||&#8221; header_3_font=&#8221;Poppins|600||on|||||&#8221; header_3_font_size=&#8221;12px&#8221; header_3_letter_spacing=&#8221;1px&#8221; header_3_line_height=&#8221;1.6em&#8221; text_orientation=&#8221;right&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h3 style=\"text-align: center;\">Interpolation<\/h3>\n<p style=\"text-align: justify;\">Determines the distance between the interpolated planes and controls the horizontal resolution of the Collision Map. It is recommended to use the same value as the Interpolation in the KUKA|prc settings.<\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/www.parametriczoo.com\/wp-content\/uploads\/2021\/11\/resolutions.jpg&#8221; title_text=&#8221;resolutions&#8221; align=&#8221;right&#8221; _builder_version=&#8221;4.16&#8243; custom_margin=&#8221;60px||&#8221; custom_margin_tablet=&#8221;&#8221; custom_margin_phone=&#8221;&#8221; custom_margin_last_edited=&#8221;on|tablet&#8221; border_width_all=&#8221;1px&#8221; border_color_all=&#8221;#000000&#8243; box_shadow_style=&#8221;preset1&#8243; always_center_on_mobile=&#8221;off&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.16&#8243; text_font=&#8221;||||||||&#8221; text_font_size=&#8221;12px&#8221; text_line_height=&#8221;2em&#8221; header_font=&#8221;||||||||&#8221; header_text_align=&#8221;center&#8221; header_3_font=&#8221;Poppins|600||on|||||&#8221; header_3_font_size=&#8221;12px&#8221; header_3_letter_spacing=&#8221;1px&#8221; header_3_line_height=&#8221;1.6em&#8221; text_orientation=&#8221;right&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h3 style=\"text-align: center;\">Resolution<\/h3>\n<p style=\"text-align: justify;\">Controls the vertical resolution of the Collision Map by dividing the Domain to smaller intervals. The algorithm use an exponential function of base 2 (<img loading=\"lazy\" src=\"https:\/\/www.parametriczoo.com\/wp-content\/uploads\/2021\/11\/resolution-formula.png\" alt=\"Smiley face\" width=\"32\" height=\"32\" \/> ) to determine the step interval size. For example by the resolution 3 the step size is 90\/8\u00a0 = 11.25 degree.<\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/www.parametriczoo.com\/wp-content\/uploads\/2021\/11\/domain.jpg&#8221; title_text=&#8221;domain&#8221; align=&#8221;right&#8221; _builder_version=&#8221;4.16&#8243; custom_margin=&#8221;60px||&#8221; custom_margin_tablet=&#8221;&#8221; custom_margin_phone=&#8221;&#8221; custom_margin_last_edited=&#8221;on|tablet&#8221; border_width_all=&#8221;1px&#8221; border_color_all=&#8221;#000000&#8243; box_shadow_style=&#8221;preset1&#8243; always_center_on_mobile=&#8221;off&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.16&#8243; text_font=&#8221;||||||||&#8221; text_font_size=&#8221;12px&#8221; text_line_height=&#8221;2em&#8221; header_font=&#8221;||||||||&#8221; header_text_align=&#8221;center&#8221; header_3_font=&#8221;Poppins|600||on|||||&#8221; header_3_font_size=&#8221;12px&#8221; header_3_letter_spacing=&#8221;1px&#8221; header_3_line_height=&#8221;1.6em&#8221; text_orientation=&#8221;right&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h3 style=\"text-align: center;\">Domain<\/h3>\n<p style=\"text-align: justify;\">Defines the search area. The search area is symmetric around the 0 value which indicates the current value of axis 5. The maximum value of 180 covers 360 degree rotation , 180 clockwise and -180 counter-clockwise.\u00a0 \u00a0\u00a0<\/p>\n<p>[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_image src=&#8221;https:\/\/www.parametriczoo.com\/wp-content\/uploads\/2021\/11\/check-for-singularities.jpg&#8221; title_text=&#8221;check-for-singularities&#8221; align=&#8221;right&#8221; _builder_version=&#8221;4.16&#8243; custom_margin=&#8221;0px||||false|false&#8221; custom_margin_tablet=&#8221;&#8221; custom_margin_phone=&#8221;&#8221; custom_margin_last_edited=&#8221;on|tablet&#8221; border_width_all=&#8221;1px&#8221; border_color_all=&#8221;#000000&#8243; box_shadow_style=&#8221;preset1&#8243; always_center_on_mobile=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.16&#8243; text_font=&#8221;||||||||&#8221; text_font_size=&#8221;12px&#8221; text_line_height=&#8221;2em&#8221; header_font=&#8221;||||||||&#8221; header_3_font=&#8221;Poppins|600||on|||||&#8221; header_3_font_size=&#8221;12px&#8221; header_3_letter_spacing=&#8221;1px&#8221; header_3_line_height=&#8221;1.6em&#8221; text_orientation=&#8221;right&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h3 style=\"text-align: center;\">Singularities<\/h3>\n<p style=\"text-align: justify;\">Detect the singularities in the Collision Map. A singularity occurs when one or more axis of robot moves faster than maximum speed.\u00a0<\/p>\n<p style=\"text-align: justify;\">\n<p style=\"text-align: justify;\">\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/www.parametriczoo.com\/wp-content\/uploads\/2021\/11\/solution.jpg&#8221; title_text=&#8221;solution&#8221; align=&#8221;right&#8221; _builder_version=&#8221;4.16&#8243; custom_margin=&#8221;60px||&#8221; custom_margin_tablet=&#8221;&#8221; custom_margin_phone=&#8221;&#8221; custom_margin_last_edited=&#8221;on|tablet&#8221; border_width_all=&#8221;1px&#8221; border_color_all=&#8221;#000000&#8243; box_shadow_style=&#8221;preset1&#8243; always_center_on_mobile=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.16&#8243; text_font=&#8221;||||||||&#8221; text_font_size=&#8221;12px&#8221; text_line_height=&#8221;2em&#8221; header_font=&#8221;||||||||&#8221; header_3_font=&#8221;Poppins|600||on|||||&#8221; header_3_font_size=&#8221;12px&#8221; header_3_letter_spacing=&#8221;1px&#8221; header_3_line_height=&#8221;1.6em&#8221; text_orientation=&#8221;right&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h3 style=\"text-align: center;\">Solution<\/h3>\n<p style=\"text-align: justify;\">In the case of having more than one valid paths user can switch between different paths using the solution explorer.\u00a0\u00a0<\/p>\n<p style=\"text-align: justify;\">\n<p style=\"text-align: justify;\">\n<p style=\"text-align: justify;\">\n<p style=\"text-align: justify;\">\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/www.parametriczoo.com\/wp-content\/uploads\/2021\/11\/lock-start-end-1.jpg&#8221; title_text=&#8221;lock-start-end&#8221; align=&#8221;right&#8221; _builder_version=&#8221;4.16&#8243; custom_margin=&#8221;60px||&#8221; custom_margin_tablet=&#8221;&#8221; custom_margin_phone=&#8221;&#8221; custom_margin_last_edited=&#8221;on|tablet&#8221; border_width_all=&#8221;1px&#8221; border_color_all=&#8221;#000000&#8243; box_shadow_style=&#8221;preset1&#8243; always_center_on_mobile=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.16&#8243; text_font=&#8221;||||||||&#8221; text_font_size=&#8221;12px&#8221; text_line_height=&#8221;2em&#8221; header_font=&#8221;||||||||&#8221; header_text_align=&#8221;center&#8221; header_3_font=&#8221;Poppins|600||on|||||&#8221; header_3_font_size=&#8221;12px&#8221; header_3_letter_spacing=&#8221;1px&#8221; header_3_line_height=&#8221;1.6em&#8221; text_orientation=&#8221;right&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h3 style=\"text-align: center;\">Lock Start\/End\u00a0<\/h3>\n<p style=\"text-align: justify;\">Choosing this option will use the end position of the robot tool also as the start position, therefore user may only need to enter the start position.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_image src=&#8221;https:\/\/www.parametriczoo.com\/wp-content\/uploads\/2021\/11\/robot-base-settings.jpg&#8221; title_text=&#8221;robot-base-settings&#8221; _builder_version=&#8221;4.16&#8243; custom_margin=&#8221;0px||||false|false&#8221; custom_margin_tablet=&#8221;&#8221; custom_margin_phone=&#8221;&#8221; custom_margin_last_edited=&#8221;on|tablet&#8221; border_width_all=&#8221;1px&#8221; border_color_all=&#8221;#000000&#8243; box_shadow_style=&#8221;preset1&#8243; always_center_on_mobile=&#8221;off&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.16&#8243; text_font=&#8221;||||||||&#8221; text_font_size=&#8221;12px&#8221; text_line_height=&#8221;2em&#8221; header_font=&#8221;||||||||&#8221; header_3_font=&#8221;Poppins|600||on|||||&#8221; header_3_font_size=&#8221;12px&#8221; header_3_letter_spacing=&#8221;1px&#8221; header_3_line_height=&#8221;1.6em&#8221; text_orientation=&#8221;right&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h3 style=\"text-align: center;\">\u00a0Robot base settings<\/h3>\n<p style=\"text-align: justify;\">The position and orientation of the robot base with respect to the zero point. These settings must match the base settings\u00a0 of KUKA|prc core component.\u00a0<\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8221;https:\/\/www.parametriczoo.com\/wp-content\/uploads\/2021\/11\/start-position.jpg&#8221; title_text=&#8221;start-position&#8221; _builder_version=&#8221;4.16&#8243; custom_margin=&#8221;60px||&#8221; custom_margin_tablet=&#8221;&#8221; custom_margin_phone=&#8221;&#8221; custom_margin_last_edited=&#8221;on|tablet&#8221; border_width_all=&#8221;1px&#8221; border_color_all=&#8221;#000000&#8243; box_shadow_style=&#8221;preset1&#8243; always_center_on_mobile=&#8221;off&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][et_pb_text _builder_version=&#8221;4.16&#8243; text_font=&#8221;||||||||&#8221; text_font_size=&#8221;12px&#8221; text_line_height=&#8221;2em&#8221; header_font=&#8221;||||||||&#8221; header_3_font=&#8221;Poppins|600||on|||||&#8221; header_3_font_size=&#8221;12px&#8221; header_3_letter_spacing=&#8221;1px&#8221; header_3_line_height=&#8221;1.6em&#8221; text_orientation=&#8221;right&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h3 style=\"text-align: center;\">\u00a0Robot Start\/End Position<\/h3>\n<p style=\"text-align: justify;\">The axis value at start or end position of robot must be set here. These settings must match the start\/end position of KUKA|prc core component in the advanced tab.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.16&#8243; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text _builder_version=&#8221;4.16&#8243; text_font=&#8221;||||||||&#8221; text_line_height=&#8221;2em&#8221; header_font=&#8221;Poppins|600|||||||&#8221; header_font_size=&#8221;40px&#8221; header_line_height=&#8221;1.3em&#8221; header_2_font=&#8221;Poppins|600|||||||&#8221; header_2_font_size=&#8221;32px&#8221; header_2_line_height=&#8221;1.6em&#8221; text_orientation=&#8221;center&#8221; max_width=&#8221;700px&#8221; module_alignment=&#8221;center&#8221; header_2_font_size_tablet=&#8221;24px&#8221; header_2_font_size_phone=&#8221;18px&#8221; header_2_font_size_last_edited=&#8221;on|phone&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h2>Input Parameters<\/h2>\n<p>The following parameters must be provided as input to the KUKA|prc tool path optimizer in order for component to function.<\/p>\n<p>&nbsp;<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;1_3,1_3,1_3&#8243; _builder_version=&#8221;4.16&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text _builder_version=&#8221;4.16&#8243; text_font=&#8221;||||||||&#8221; text_font_size=&#8221;12px&#8221; text_line_height=&#8221;2em&#8221; header_font=&#8221;Arial||||||||&#8221; header_3_font=&#8221;Poppins|600||on|||||&#8221; header_3_font_size=&#8221;12px&#8221; header_3_letter_spacing=&#8221;1px&#8221; header_3_line_height=&#8221;1.6em&#8221; text_orientation=&#8221;right&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h2 style=\"text-align: center;\">KUKA|prc commands<\/h2>\n<p style=\"text-align: justify;\">The Tool path as set of KUKA|prc commands which contains collisions.\u00a0\u00a0<\/p>\n<p>[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text _builder_version=&#8221;4.16&#8243; text_font=&#8221;||||||||&#8221; text_font_size=&#8221;12px&#8221; text_line_height=&#8221;2em&#8221; header_font=&#8221;Arial||||||||&#8221; header_3_font=&#8221;Poppins|600||on|||||&#8221; header_3_font_size=&#8221;12px&#8221; header_3_letter_spacing=&#8221;1px&#8221; header_3_line_height=&#8221;1.6em&#8221; text_orientation=&#8221;right&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h2 style=\"text-align: center;\">KUKA|prc Robot<\/h2>\n<p style=\"text-align: justify;\">The same Robot type which is used for the simulation.\u00a0\u00a0<\/p>\n<p>[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text _builder_version=&#8221;4.16&#8243; text_font=&#8221;||||||||&#8221; text_font_size=&#8221;12px&#8221; text_line_height=&#8221;2em&#8221; header_font=&#8221;Arial||||||||&#8221; header_3_font=&#8221;Poppins|600||on|||||&#8221; header_3_font_size=&#8221;12px&#8221; header_3_letter_spacing=&#8221;1px&#8221; header_3_line_height=&#8221;1.6em&#8221; text_orientation=&#8221;right&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h2 style=\"text-align: center;\">KUKA|prc tool<\/h2>\n<p style=\"text-align: justify;\">The same custom tool which is used for the simulation.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; next_background_color=&#8221;#ffffff&#8221; admin_label=&#8221;Services&#8221; _builder_version=&#8221;4.16&#8243; background_color=&#8221;#dadada&#8221; background_image=&#8221;https:\/\/www.parametriczoo.com\/wp-content\/uploads\/2021\/10\/Artboard.png&#8221; background_size=&#8221;contain&#8221; custom_margin=&#8221;|40px||40px||true&#8221; custom_margin_tablet=&#8221;&#8221; custom_margin_phone=&#8221;|10px||10px||true&#8221; custom_margin_last_edited=&#8221;on|desktop&#8221; custom_padding=&#8221;8px|||||&#8221; bottom_divider_style=&#8221;wave&#8221; bottom_divider_height=&#8221;33vw&#8221; bottom_divider_repeat=&#8221;0.6x&#8221; bottom_divider_flip=&#8221;vertical|horizontal&#8221; bottom_divider_arrangement=&#8221;above_content&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;2px|||||&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_video src=&#8221;https:\/\/youtu.be\/BTBeBqCXTlM&#8221; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||125px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_video][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;2_5,3_5&#8243; _builder_version=&#8221;4.16&#8243; width=&#8221;100%&#8221; max_width=&#8221;100%&#8221; custom_margin=&#8221;60px||&#8221; custom_padding=&#8221;|0px|0|0px|false|false&#8221; use_custom_width=&#8221;on&#8221; width_unit=&#8221;off&#8221; custom_width_percent=&#8221;100%&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;2_5&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][\/et_pb_column][et_pb_column type=&#8221;3_5&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;Social&#8221; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;20px|||||&#8221; custom_width_px__hover=&#8221;1080px&#8221; custom_width_px__hover_enabled=&#8221;1080px&#8221; custom_width_percent__hover=&#8221;80%&#8221; custom_width_percent__hover_enabled=&#8221;80%&#8221; global_colors_info=&#8221;{}&#8221; parallax_1__hover=&#8221;off&#8221; parallax_1__hover_enabled=&#8221;off&#8221; parallax_2__hover=&#8221;off&#8221; parallax_2__hover_enabled=&#8221;off&#8221; parallax_3__hover=&#8221;off&#8221; parallax_3__hover_enabled=&#8221;off&#8221; parallax_method_1__hover=&#8221;on&#8221; parallax_method_1__hover_enabled=&#8221;on&#8221; parallax_method_2__hover=&#8221;on&#8221; parallax_method_2__hover_enabled=&#8221;on&#8221; parallax_method_3__hover=&#8221;on&#8221; parallax_method_3__hover_enabled=&#8221;on&#8221; use_background_color_gradient__hover=&#8221;off&#8221; use_background_color_gradient__hover_enabled=&#8221;off&#8221; background_color_gradient_start__hover=&#8221;#2b87da&#8221; background_color_gradient_start__hover_enabled=&#8221;#2b87da&#8221; background_color_gradient_end__hover=&#8221;#29c4a9&#8243; background_color_gradient_end__hover_enabled=&#8221;#29c4a9&#8243; background_color_gradient_type__hover=&#8221;linear&#8221; background_color_gradient_type__hover_enabled=&#8221;linear&#8221; background_color_gradient_direction__hover=&#8221;180deg&#8221; background_color_gradient_direction__hover_enabled=&#8221;180deg&#8221; background_color_gradient_direction_radial__hover=&#8221;center&#8221; background_color_gradient_direction_radial__hover_enabled=&#8221;center&#8221; background_color_gradient_start_position__hover=&#8221;0%&#8221; background_color_gradient_start_position__hover_enabled=&#8221;0%&#8221; background_color_gradient_end_position__hover=&#8221;100%&#8221; background_color_gradient_end_position__hover_enabled=&#8221;100%&#8221; background_color_gradient_overlays_image__hover=&#8221;off&#8221; background_color_gradient_overlays_image__hover_enabled=&#8221;off&#8221; parallax__hover=&#8221;off&#8221; parallax__hover_enabled=&#8221;off&#8221; parallax_method__hover=&#8221;on&#8221; parallax_method__hover_enabled=&#8221;on&#8221; background_size__hover=&#8221;cover&#8221; background_size__hover_enabled=&#8221;cover&#8221; background_position__hover=&#8221;center&#8221; background_position__hover_enabled=&#8221;center&#8221; background_repeat__hover=&#8221;no-repeat&#8221; background_repeat__hover_enabled=&#8221;no-repeat&#8221; background_blend__hover=&#8221;normal&#8221; background_blend__hover_enabled=&#8221;normal&#8221; allow_player_pause__hover=&#8221;off&#8221; allow_player_pause__hover_enabled=&#8221;off&#8221; background_video_pause_outside_viewport__hover=&#8221;on&#8221; background_video_pause_outside_viewport__hover_enabled=&#8221;on&#8221; inner_shadow__hover=&#8221;off&#8221; inner_shadow__hover_enabled=&#8221;off&#8221; make_fullwidth__hover=&#8221;off&#8221; make_fullwidth__hover_enabled=&#8221;off&#8221; use_custom_width__hover=&#8221;off&#8221; use_custom_width__hover_enabled=&#8221;off&#8221; width_unit__hover=&#8221;on&#8221; width_unit__hover_enabled=&#8221;on&#8221; make_equal__hover=&#8221;off&#8221; make_equal__hover_enabled=&#8221;off&#8221; use_custom_gutter__hover=&#8221;off&#8221; use_custom_gutter__hover_enabled=&#8221;off&#8221; gutter_width__hover=&#8221;3&#8243; gutter_width__hover_enabled=&#8221;3&#8243; border_radii__hover=&#8221;on||||&#8221; border_radii__hover_enabled=&#8221;on||||&#8221; box_shadow_style__hover=&#8221;none&#8221; box_shadow_style__hover_enabled=&#8221;none&#8221; box_shadow_color__hover=&#8221;rgba(0,0,0,0.3)&#8221; box_shadow_color__hover_enabled=&#8221;rgba(0,0,0,0.3)&#8221; max_width__hover=&#8221;100%&#8221; max_width__hover_enabled=&#8221;100%&#8221; filter_hue_rotate__hover=&#8221;0deg&#8221; filter_hue_rotate__hover_enabled=&#8221;0deg&#8221; filter_saturate__hover=&#8221;100%&#8221; filter_saturate__hover_enabled=&#8221;100%&#8221; filter_brightness__hover=&#8221;100%&#8221; filter_brightness__hover_enabled=&#8221;100%&#8221; filter_contrast__hover=&#8221;100%&#8221; filter_contrast__hover_enabled=&#8221;100%&#8221; filter_invert__hover=&#8221;0%&#8221; filter_invert__hover_enabled=&#8221;0%&#8221; filter_sepia__hover=&#8221;0%&#8221; filter_sepia__hover_enabled=&#8221;0%&#8221; filter_opacity__hover=&#8221;100%&#8221; filter_opacity__hover_enabled=&#8221;100%&#8221; filter_blur__hover=&#8221;0px&#8221; filter_blur__hover_enabled=&#8221;0px&#8221; mix_blend_mode__hover=&#8221;normal&#8221; mix_blend_mode__hover_enabled=&#8221;normal&#8221; animation_style__hover=&#8221;none&#8221; animation_style__hover_enabled=&#8221;none&#8221; animation_repeat__hover=&#8221;once&#8221; animation_repeat__hover_enabled=&#8221;once&#8221; animation_direction__hover=&#8221;center&#8221; animation_direction__hover_enabled=&#8221;center&#8221; animation_duration__hover=&#8221;1000ms&#8221; animation_duration__hover_enabled=&#8221;1000ms&#8221; animation_delay__hover=&#8221;0ms&#8221; animation_delay__hover_enabled=&#8221;0ms&#8221; animation_intensity_slide__hover=&#8221;50%&#8221; animation_intensity_slide__hover_enabled=&#8221;50%&#8221; animation_intensity_zoom__hover=&#8221;50%&#8221; animation_intensity_zoom__hover_enabled=&#8221;50%&#8221; animation_intensity_flip__hover=&#8221;50%&#8221; animation_intensity_flip__hover_enabled=&#8221;50%&#8221; animation_intensity_fold__hover=&#8221;50%&#8221; animation_intensity_fold__hover_enabled=&#8221;50%&#8221; animation_intensity_roll__hover=&#8221;50%&#8221; animation_intensity_roll__hover_enabled=&#8221;50%&#8221; animation_starting_opacity__hover=&#8221;0%&#8221; animation_starting_opacity__hover_enabled=&#8221;0%&#8221; animation_speed_curve__hover=&#8221;ease-in-out&#8221; animation_speed_curve__hover_enabled=&#8221;ease-in-out&#8221; hover_transition_duration__hover=&#8221;300ms&#8221; hover_transition_duration__hover_enabled=&#8221;300ms&#8221; hover_transition_delay__hover=&#8221;0ms&#8221; hover_transition_delay__hover_enabled=&#8221;0ms&#8221; hover_transition_speed_curve__hover=&#8221;ease&#8221; hover_transition_speed_curve__hover_enabled=&#8221;ease&#8221; background_color_gradient_stops__hover=&#8221;#2b87da 0%|#29c4a9 100%&#8221;][et_pb_row _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h3 style=\"text-align: center;\">please submit the errors \/ bugs here<\/h3>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_code _builder_version=&#8221;4.16&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; admin_label=&#8221;Call to Actions&#8221; _builder_version=&#8221;4.16&#8243; global_colors_info=&#8221;{}&#8221;][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>KUKA|prc tool path optimizerKuka|prc is a collection of grasshopper components which enables users to control the KUKA robots parametrically.\u00a0While you are able to solve inverse kinematics for different models of robots and control the robot arms by setting up a predefined tool-path, you may not able to avoid collisions if they arise during the simulation.\u00a0 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":219,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>KUKA|prc Tool-path optimizer - Parametric Zoo<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.parametriczoo.com\/index.php\/products\/kukaprc-tool-path-optimizer\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"KUKA|prc Tool-path optimizer - Parametric Zoo\" \/>\n<meta property=\"og:description\" content=\"KUKA|prc tool path optimizerKuka|prc is a collection of grasshopper components which enables users to control the KUKA robots parametrically.\u00a0While you are able to solve inverse kinematics for different models of robots and control the robot arms by setting up a predefined tool-path, you may not able to avoid collisions if they arise during the simulation.\u00a0 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.parametriczoo.com\/index.php\/products\/kukaprc-tool-path-optimizer\/\" \/>\n<meta property=\"og:site_name\" content=\"Parametric Zoo\" \/>\n<meta property=\"article:modified_time\" content=\"2023-10-01T16:12:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.parametriczoo.com\/wp-content\/uploads\/2021\/11\/resolution-formula.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.parametriczoo.com\/#website\",\"url\":\"https:\/\/www.parametriczoo.com\/\",\"name\":\"Parametric Zoo\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.parametriczoo.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.parametriczoo.com\/index.php\/products\/kukaprc-tool-path-optimizer\/#primaryimage\",\"url\":\"https:\/\/www.parametriczoo.com\/wp-content\/uploads\/2021\/11\/resolution-formula.png\",\"contentUrl\":\"https:\/\/www.parametriczoo.com\/wp-content\/uploads\/2021\/11\/resolution-formula.png\",\"width\":61,\"height\":47},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.parametriczoo.com\/index.php\/products\/kukaprc-tool-path-optimizer\/\",\"url\":\"https:\/\/www.parametriczoo.com\/index.php\/products\/kukaprc-tool-path-optimizer\/\",\"name\":\"KUKA|prc Tool-path optimizer - Parametric Zoo\",\"isPartOf\":{\"@id\":\"https:\/\/www.parametriczoo.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.parametriczoo.com\/index.php\/products\/kukaprc-tool-path-optimizer\/#primaryimage\"},\"datePublished\":\"2021-10-17T13:52:19+00:00\",\"dateModified\":\"2023-10-01T16:12:10+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.parametriczoo.com\/index.php\/products\/kukaprc-tool-path-optimizer\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.parametriczoo.com\/index.php\/products\/kukaprc-tool-path-optimizer\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.parametriczoo.com\/index.php\/products\/kukaprc-tool-path-optimizer\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.parametriczoo.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Products\",\"item\":\"https:\/\/www.parametriczoo.com\/index.php\/products\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"KUKA|prc Tool-path optimizer\"}]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"KUKA|prc Tool-path optimizer - Parametric Zoo","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.parametriczoo.com\/index.php\/products\/kukaprc-tool-path-optimizer\/","og_locale":"en_US","og_type":"article","og_title":"KUKA|prc Tool-path optimizer - Parametric Zoo","og_description":"KUKA|prc tool path optimizerKuka|prc is a collection of grasshopper components which enables users to control the KUKA robots parametrically.\u00a0While you are able to solve inverse kinematics for different models of robots and control the robot arms by setting up a predefined tool-path, you may not able to avoid collisions if they arise during the simulation.\u00a0 [&hellip;]","og_url":"https:\/\/www.parametriczoo.com\/index.php\/products\/kukaprc-tool-path-optimizer\/","og_site_name":"Parametric Zoo","article_modified_time":"2023-10-01T16:12:10+00:00","og_image":[{"url":"https:\/\/www.parametriczoo.com\/wp-content\/uploads\/2021\/11\/resolution-formula.png"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/www.parametriczoo.com\/#website","url":"https:\/\/www.parametriczoo.com\/","name":"Parametric Zoo","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.parametriczoo.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.parametriczoo.com\/index.php\/products\/kukaprc-tool-path-optimizer\/#primaryimage","url":"https:\/\/www.parametriczoo.com\/wp-content\/uploads\/2021\/11\/resolution-formula.png","contentUrl":"https:\/\/www.parametriczoo.com\/wp-content\/uploads\/2021\/11\/resolution-formula.png","width":61,"height":47},{"@type":"WebPage","@id":"https:\/\/www.parametriczoo.com\/index.php\/products\/kukaprc-tool-path-optimizer\/","url":"https:\/\/www.parametriczoo.com\/index.php\/products\/kukaprc-tool-path-optimizer\/","name":"KUKA|prc Tool-path optimizer - Parametric Zoo","isPartOf":{"@id":"https:\/\/www.parametriczoo.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.parametriczoo.com\/index.php\/products\/kukaprc-tool-path-optimizer\/#primaryimage"},"datePublished":"2021-10-17T13:52:19+00:00","dateModified":"2023-10-01T16:12:10+00:00","breadcrumb":{"@id":"https:\/\/www.parametriczoo.com\/index.php\/products\/kukaprc-tool-path-optimizer\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.parametriczoo.com\/index.php\/products\/kukaprc-tool-path-optimizer\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.parametriczoo.com\/index.php\/products\/kukaprc-tool-path-optimizer\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.parametriczoo.com\/"},{"@type":"ListItem","position":2,"name":"Products","item":"https:\/\/www.parametriczoo.com\/index.php\/products\/"},{"@type":"ListItem","position":3,"name":"KUKA|prc Tool-path optimizer"}]}]}},"_links":{"self":[{"href":"https:\/\/www.parametriczoo.com\/index.php\/wp-json\/wp\/v2\/pages\/1256"}],"collection":[{"href":"https:\/\/www.parametriczoo.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.parametriczoo.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.parametriczoo.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.parametriczoo.com\/index.php\/wp-json\/wp\/v2\/comments?post=1256"}],"version-history":[{"count":30,"href":"https:\/\/www.parametriczoo.com\/index.php\/wp-json\/wp\/v2\/pages\/1256\/revisions"}],"predecessor-version":[{"id":2205,"href":"https:\/\/www.parametriczoo.com\/index.php\/wp-json\/wp\/v2\/pages\/1256\/revisions\/2205"}],"up":[{"embeddable":true,"href":"https:\/\/www.parametriczoo.com\/index.php\/wp-json\/wp\/v2\/pages\/219"}],"wp:attachment":[{"href":"https:\/\/www.parametriczoo.com\/index.php\/wp-json\/wp\/v2\/media?parent=1256"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}