ufn_mt13110_nx2
TRANSCRIPT
�
�����������������
����������������������������� !��"��
��������
��� �����
�
������������� ������������ ������
���������
���������������� ���������������������������������������������������������������������������� ������ �� ��� ����� �������������� �� ������� ������� �������� ��� �� �� �������� ������������������������������ ����������������� ��� ��������������������������������� ����������� ���������������������������������� ������������������������ ������������������������������������������������������������������������������������������������� ��������������� ������� ���� �������� ��� ��� �� �������� ��������� ������ ��� �� ���� ������ ����� ������������������� ���������������������������������������������� ������ ������������������������������������� �������������������������������������������������
� !!"#���������$���������%�����������&�������������'���
������������������������
(���������������������� ����������������������������������'������������������������������������������������������������)�'������������*��������������������������������������� �������������������������������������������������� ������� ��������+�����������������������������$,$-&� ./. ! /"0�1��� ��%�'�����&����������-&� .�2!20�10 10�1�������������������������������������������������������������������������3!4 25����������%������%&6!7"!�
�������������������� �����
&�������������������������������� ��'��������������������������������� ���������������������������������������� ��������+����������������������'������������������������������������������������� �������������������������������������� �������� ���������������
(���� ���������������� ������������������*���� ������������������*������������������������ ��� ������ ��� �� ���������� ����������� � ����������� ��������� ����� ���������������������������������������������� ����������������������������������������������
(�� �� �������������������� ������������ �� ��������������������� ������������������� �����*��������������������������������������������������������������������������
!����"��#�
���$��������� ���$���� �������%�!�%������ �������������$�� � �%���������&���������%�!�%����' ������������8���������������������8�� #���������$��� ������ %���������� �� ��� ������������� &�� ����� ����� �� ��������8� ���� ������ ��� ����������� �������������'��������
��������������� ����������������5�����9
:������3;�! -������3666���������������������������������:������37�! -������ !!!���������������������������������:������3.�! <� !!3���������������������������������:������34�! <���� !! ���������������������������������������������= -������ !!"�����������������������������������������= -������ !!2����������������������������
!�� ���(���������
�,���&���������)��������
�������� �� �����
��������������
������)����� *+����������������������������������������������������������������������������������������5�����������>��8 /3����������������������������������
?�����,���&��@ / ���������������������������������(��-����� ,���&�� / �����������������������������
,���&��&����������� /"��������������������������������������� ����������������������,���&���������9 /"���
%�����,�*����'�� /"������������������������������������������ �����*����'�� �����,���&���������������9 /"�
%���� �����"�� �����������#��� +*+����������������������������������������������������(���-<#�������� 3/ ���������������������������������
5������'�8��-<#�� 3/ ���������������������������#��� 3/"����������������������������������������������%������ 3/"�������������������������������������������%������#����� 3/;������������������������������������A��8 3/;����������������������������������������������A��8#����� 3/7������������������������������������������� 3/7����������������������������������������������%�����$������� 3/.�����������������������������������A���$������� 3/.�����������������������������������������/����&���'����� 3/.�������������������������������
<�8� ���,'��'��� 3/4������������������������������������&���'��9%���������A��8��������� 3/3!��������������������#����%���8��� 3/33����������������������������������������������������?������ 3/3 ������������������������������&������<��������������������8��?������ 3/34���������
��������������� ,*+����������������������������������������������������������������������������������,'�����%�������*��� /"�����������������������������������
)������,���&���������-����� /;�������������������A������%���8��+%���8,���������� /7�����������������%���������#��������������������� /.�������������������%���$���������9������������ /.�������������������������<�������<�������������� /6�������������������������'�������<���� /6����������������������������������������������� /33��������������������������������������
!�� ���(���������
,���&���������)����
���������� �� ������������ �� �����
��
<����������� /3 ������������������������������������%�������������9����B������ /3 ��������������������������
&���'��9%���8������� ��,�������-���� /3;������������������������ �������� /3.�����������������������������������
��'�8����������� /34���������������������������������������<���� /36����������������������������������������������� ����������������#����� / !�����������������,�*���>������ / 3��������������������������������������'�$����� / 3����������������������������������������,���&���������� �������������� �������� / ��������C������&��������� / ����������������������������������������&��������� / "����������������������������������
&���'��9��������� �������� ��%���������$��� / 2������������������� ��,�*������������ /".���������������������
���"� ��� -*+��������������������������������������������������������������������������������������������(��/$���$����� "/"������������������������������������
&������(������������%������� "/"������������������������&������ "/;�����������������������������������%��������������� "/3!���������������������������������&�������������� "/33���������������������������������A����������� "/3 �������������������������������������,�*����������� "/3"������������������������������������%���$���������9����B������� "/32�����������������������%��������%�������� "/37������������������������������
&���'��9%�����&����������� ��%��������� "/3.�������������������,�*���(����(�������������� "/34������������������
�.��������� /*+������������������������������������������������������������������������������������������#���������$� ������� 2/ ����������������������������������
%����������#���������� 2/ �����������������������������#����������������� 2/2��������������������������������#���������� ��������������� 2/;������������������������%���$���������9����B������ 2/4�������������������������
&���'��9%���������B���� 2/6������������������������������
'��� ��� 0*+����������������������������������������������������������������������������������������������)������%���������%������ ;/ ��������������������������
<���������������� ;/"����������������������������������%���$���������9����B������� ;/2�����������������������
&���'��9%����������������B����� ;/7���������������������%���������(��5�� ;/.������������������������������������
!�� ���(���������
���,���&���������)��������
�������� �� �����
<����%��������������� ;/6����������������������������<������D����������� ;/3!������������������������������,�*��������������� ;/33������������������������������%���$���������9����B�����B����� ;/3 �������������������
&���'��9%��������%���������(�� ;/3.�����������������������%���$���������9����B�����B���B������� ;/34��������������
&���'��9&��5���������%���������(�� ;/ 3�����������������%���������>�����5�� ;/ ��������������������������������
%���$���������9����B�����B�������� ;/ ����������������%���������>����� ;/ "�������������������������������������
%���$���������9����B�����B�������� ;/ 2�����������������&���'��9%�����>�����5�� ���>�����)������ ;/ ;��������
%���$���������9����B����B������ ;/ 7������������������&���'��9%����������������B����B���� ;/ .�����������������
��"��������� 1*+��������������������������������������������������������������������������������������$�����������$�� ������������ 7/ ������������������������
����B����������� 7/"�����������������������������������%���$���������9����B���������B����� 7/2����������������%���$���������9����B���������B���B������� 7/7��������������B���������B�������� 7/6����������������������������
&���'��9%�����(��$��������� 7/3!�������������������������?%���������������� 7/3 �������������������������������:���+A������������������� 7/3"�������������������������%���$���������9����B���������B�������� 7/32���������������B���B���B��B'����� 7/3;�����������������������������������B���������B������B������� 7/3;�����������������������
&���'��9%�����>�����$��������� 7/37����������������������
���2���� 3*+����������������������������������������������������������������������������������������������<�����:������$����������%��'������� ./3���������$�������������� ./"�����������������������������������
�������������� ./2���������������������������������������%���$���������9����B��������� ./2����������������������%���$���������9����B�������B'������ ./7����������������
&���'��9%������$������ ./4������������������������������
�.����� �%���� �� 4*+������������������������������������������������������������������������������#�������,���&���������� 4/ ���������������������������
&���������������� 4/"����������������������������������&�����&��������������%�������������� 4/"��������������������� 4/2��������������������������������������������
!�� ���(���������
,���&���������)����
���������� �� ������������ �� �����
�5
%���$���������9������� 4/;�����������������������������&���'��9&�����������#�������,���&�� 4/6����������������
� ������ *+���������������������������������������������������������������������������������������������������������������,���&�� &/3�������������������������������
������������ &/3��������������������������������������%���$���������9����B������ &/3�������������������������
&���'��9)���������$����������� &/"����������������������
� ������ ��*+������������������������������������������������������������������������������������������������
����. �*+������������������������������������������������������������������������������������������������������
����������
,���&���������)����
*+������������ �� �����
!�����"�����
(�����������������������,���&���'����������������������������������������������� ������������������� ,���&�������������������������������
#$%�&$�!��&��!�'$$(
(����������)�����������������������������8���8������������������� �������������-����� ����� ����������������������� �������&���� ������)����������,���&������������E�)�����
-�����&���� ������)�����������5���→$������������→,���&���� ������)�����0�������������,���%FF����������E�)�������������������������1G���������������� ���������8���8��������������9HI�)��B>&�#B$��J+�����+������B���+����������
(��,���&�����������E�)��������������,����������������� �������� �=5����
,����������������������������������<��������������)������������������� ��������5����
(����������)������������������������ ��������(����������������������������������������� ���'�������������(���������������������������� ��������������������#��������������������������������� ������������������ ��������������������������,���&��������������������������������� ���������������'������(���������)������������������������������������� ���������'������
����������
,���&���������)����*, ����������������
������������ �� �����
)��&��!���������*
(��,���&���������8��� %������������������������ ����������������������������������������������8���������������� �������� ��������������'������������ %�������� ���������������� ��������-�������������������������� ��������������� ����*�����������0�����������,�*���<����1�
(�� ����������������� ������������� ���%FF������������������������������������ �����������-�������� ������������������,���%+%FF�����������'������������,���&���� ������������,���%FF�����������)����� �������������������������+������FF������������������������������ ��������������
%$� $�+!�$,���������
,���&����������������������������'����������� ����9����������������������������
&��������,���&������������������������������������������������������������� �����������'������������������������'���������������������������������������������������������� ��������������������������������������������������������������������������������������������������<��� �������������'�����&��������������<��� �������������������������,���&���
&��������,���&���������������������������������������������������������������#�������,���&��������������������������������� �������������������� ����������������������#�������,���&����������������������������������������������������������������������������
(��������������������������������������������������,���%&�������������������������������,���%&����������
����������
,���&���������)����
*-������������ �� �����
������������-� �&�$�!
������� ����������������������,���&���������9
� )������+-������������������������
� #�����������������+������������
� )������&������
� �������������������
� -�������������
� $���������
� -����� �����
� %����������������������������� ���������������
� %�����+������������$� ������������,�*����
����� ���� �� �
����� �����*����'�� �����,���&���������������9
� %������������������������,���&���������������� �����������8����������������������8
� ,���������������'���������������� ����
� $�'������������� ��������������������� ��������
� %������������ �������
� $�������������������������� �����+�������������������������������������
� %�����������������������������
� ?��8���������0���8���������������1
� %������������������������������
� A���������<��� ����������,���&��������������������
����������
,���&���������)����*/ ����������������
������������ �� �����
6!������������������� ����(��7 ��#8
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�� �����������������������
,���&���������)����
+*+������������ �� �����
#�����!��$���������%��&���%� ��'
�
��������� ��������������� �������������������������9
� ��'�8����� �����������
� #������#����%����������A��8������������� �����
� )����������8� ��� ���������������'�����������������
� %�������A��8���������������������-����������������������� ����������������������������= ,���?������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�� �����������������������
,���&���������)����+*, ����������������
������������ �� �����
��� ����&�-�&�
� �������������������+������� ����������'����������������������������������������8���,���%���%FF&������������ ������������ ������������������������������������� ���8�����������8������������
(��� ������������������������9
� �����������,���&�����������
� %�����������������
� A������ ����������������
� �����������������
� C���0����1����������������'���������
��� � �������������������������������� �����?�������������������?�������������������������������������������� �������������������������?���������������� �����������
#$%�&$���.$(�� ���
� ��������'�8�����������������,�#�&��0����-�������1������ �����������������<����& �������'�8�� ������������-�������$�'��������#�'��������������������������
�������������������������������������������������������������������������������������������������������������������������
+8 ���� 08�����������������,8 ��"�� � 18� �������������-8 ���# 38���*"��)�����5�����/8 �)��6�.����� �)����()������8 98�:)��
�� ���!� !��"#�$%�&'�(&)*
(������������������������������������������ ���������������8����(��,���&�����������������'���������������������� ���������������8��� ���������� ������������,���&��������������������=���� �����������������������������������������������0��%1���������������(����������������������� ��������������������&�����������������������������������������������%�����������������'��������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�� �����������������������
,���&���������)����
+*-������������ �� �����
(�� ������������������������������������ ������������='������� � �����G������������������������������������� ����������������������������������������������������������������������������� �����-���������������������������� �����������������������������������������������1������������0 �������������1�
�/�&
(��������������������������� ����������������������� �����������������������0 ����������'�1�(���� ����������������� ��������)��B#$�(,�'������� �����=�� ��� ��������������������������������������������� ��������������� ����� �������� ��������G��������������� ������������0��1���������������
#����������03/.�D1KDL93#���� ���0�1������0'�1K����83������8 ������8"���������B�����������������L9 �������B�������
0$+��-�
(�����������������'�8�����%��%FF����������������'������������������ ���%��%FF������ �����������*��� ���0��1�G���������� � ������������������+,�,(����������������� ������������������������������������������ �������������&�&��������������������������������&�&���%������������D����� ��%��������,���&���������������������� ����)������������'���������� ����0���������������������1��������
(��������������������������*��� ��� �������������������� ������������,����=���� ����������������������������
G���������������� ������������ ��������������������G����������������������� ����������������� �������������������(����������������������������������������������������������������� ��������� ����&����� ������ ���������M��N�����������������������D��������8����-���������9
#����������03/.�D1KDL9 #���� ���0�10����������MN1���������K����83������8 ������8"���������B�����������������L9�������B�������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�� �����������������������
,���&���������)����+*/ ����������������
������������ �� �����
%������������������B�������
$� ����%��������������9/�/O��%/=�/��/�P����Q%�������������������0+�1K�L9�
�������B���������������������� ����
5��P�#(���Q�����������
(���� ������������������������������������� �������������������������,���&����������������������(�������� ���������������������%������������ ��������������-��������5���'���� ����������������� ����� �����������������MN�����������9M%�������������������0+�1K�L9N�&���������M/�N�������������������������������������� ���<��� �=33�������������� �����
?����������MN�����%�����,����������������� ������������������� ���������0������������������1����������������������������'����������������� ������������������������������������������� ��������������������������������������������������������/���������������� ������������
#����������03/.�D1KDL9 #���� ���0�10����������MN1���������K����83������8 ������8"���������B�����������������L9��������������83������8 ������8"��
%�������������������������83������8 ������8"��
$� ����%��������������9/�FR/&�/��/�+���+���37!+������%�������������������0+�1K�L9
%��������������+������������ �������0�+�1K�L9�����'�FR0+�1K�L9����'�/&�0+�1K�L9����'�/��0+�1K�L9����'�/�+���+���37!+������0+�1K�L9&������������9/�/�+����3+������������������������9/�/&�/��/�+���+���37!+������/�/�+����3+�������
������������������������� ��������83����������������� ��������8 ����������������� ��������8"����������������� ����
5��P�#(���Q�����������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�� �����������������������
,���&���������)����
+*0������������ �� �����
��$���������
� ���������������� ����� ��������������������� ������������������������(������� ��� ������ ��� ���M��������P���Q��������N�,����=���������������������� ������������������������ ���������������������������(����������������������������������� ��������9
-.!�/#,��00��! ��!1�.�,���2��� !�3�����1�45$6,�!1�.!��2!�����!�1������,
(������������������� �������������������������������������� ��������������������� �������������������������������
1��(
(�����8������������������8��������*��� ���� �������%��%FF����������������*��� ����� ������������������������� ��������(�����8��������������� ���8������0�� �������,���&���� ������������������� �����������������1�(��������*��� ����������������������������������G���������������������� ������� ������������������ ������������������'�8������ ���8�������(�� ������������������8���������������-������������������������
#����������03/.�D1KDL9"A��8��������+������������ �������0�+�1K�L9�A��8�%FF�����0+�1K�L9�
$� ����� ���8�������9/�%������ ���8�������0+�1K�L9&������������9/����� ���8�������9/�/�
#����������������8SQ��������#�����������������SQ����83������8 ������8"��#���������������SQ
32.�/*78����9���9��:�������;���-.���! ��� ,����.-��������<�� =������0�2�3. ,
A��8�������9����83������8 ������8"���+-�>���!� !��*��7.%�&%��%�?%11�0� �%��%��%<�� =���A��8�������������� ��������������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�� �����������������������
,���&���������)����+*1 ����������������
������������ �� �����
32.�/*.�/������������7�0�@����A4�#6*55*6$�����A666
5��P�#(���Q�����������
(�����8��������������������������� ���� �����������������(�� ������������=���� �������������������������������M#����������������8SQN�& �������������������������M����N���������������������������(��� ����������������/�������0���1������� ������� ���8������0������,���&���� ������������ ������������������/�������1�
%��&�����
(�����8���������������������������������������������� ������� ������8�����& ����������������������������������������������������������������������������������������������������������8���G��������������'�����������������������'���� �������0���������'������������������� ����1������������#����������� �������������'���������������'��������
2��
(��������������������������������������,���&���������������������(�� �����������������������������������������������������0�����������'�8������������� ���������������������������0�11�
#����������03/.�D1KDL92#���������������� ������������K��������L9������������0+�1K�L9�#�����������������������������KL9������
B �<�����=� !��!� �3�,
(�������������������������������������������������
#����������03/.�D1KDL92#���������������� ������������K��������L9������������0+�1K�L9%�������5������/���8���%��364;�364./366 �&�������������'���PPPP=$>:������&�!6�!35�/�=QQQQ������ �������������92-����92����������9����93;9��������S TQ
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�� �����������������������
,���&���������)����
+*3������������ �� �����
-�����������������������������������(���������������������������������� �������� ���
0���������� &$��
(��%�����$�����������������������������������������������������������������������������
#����������03/.�D1KDL9;%��������������SQ+�����+���� ���+����#���������������K�L9+�����+���� ��������������SQ+�����+���� ���
1�!&����� &$��
(��A���$��������������������������������������� �������������������G���������� � ������������?����������������������� ����������������������������������������� ������������ ��� �����������(���� ����������������������� �����G������������'����������������� ��������
%��������������SQ+�����+���� ���#���� ���0�1������KUL9
�$��+����� &�.�&��!
(���������������� ������������������������������������������������(����������������� ��������������� ������9
#���������(��0��+���+8��1K8��L9
(���� ����'���������O��������08��1�G�����������>����������0��1���%/�����0���1�����������������������'�����-�������������������������������%/������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�� �����������������������
,���&���������)����+*4 ����������������
������������ �� �����
��(�,�-���.��.��%
(��������8��������������'�8�� ������������������������������������0�������������������� ����'��������'�����������1�(�����'������8� �����������������������������8����������������������8�������������������,���&�����������
(����8�����������8������������ �������������� ��������������������� ����0������������ ����1�(����8����������������������������������������� ����������������� ������'��������� ����
,�����������05������$������������)�����&�=1������������8� ���0� ��B��8�B���������8��1�����'���������HI�)��B>&�#B$��J+���������������(���������������������������� ������������������8���,���&�����������(����8� ������8����� ������������������� �������� ���8����������������������8,���&�����������
(������������8� ���������������������������������8��� ���������������������9�������������������������������������������������,���&����������������������������������������������8� ������ ��������������������������������� ��� ����
?������������������������� �������������������'���� ������������������������M<�8� ���N��M��8� ���N�(����������������������������8����������������&��������'����������������M/ N���������������8�������������� ���������8� ����������������� ����� �������� �����0����M��8�/ �B�������B��8� ���N1�
(������������8� �������������������������������8������������������������ ���E�'�����05����������1�-�� �������� ������������8���� �������������������������������������������E����'��������������������������0M�����8�N1�
(�����������������,���&����������������� ������������������ ��������8� ����(�� ������������������'������������� ���������������������� �����������(�������������������������0�������������� ��1�
(��������������������������������*��� �����(�������������������������,�#��������(���������������������������D������������������V������������������ �����G������������ ���������V���������������������������0��������� ������V1�&����������������������'����������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�� �����������������������
,���&���������)����
+*;������������ �� �����
(��%������� �������0���������1������� ��������������������� �������")������� ���/���������(�� �������������� �����D�����������0����/��M/�/�+���+�������+<��� 3� /�+���+�������+=33�;N��������������������������������������������������������������������'�������� ����1�
(��-������ ������������'��������-��������������%�����������������������,���&�� ��������� ���������-�������
(�����8 ��������'������� ���������(��������D��'������������������������������� �������8�������
&�� ����������������������� ��������������������������������������,���&�����������������������
(����8������������������������������� �������������������������8���(���������������������������������*��� �����������,�*��� ����������������������������� �����������(������������������������8��5���'�����*��� ������������������������������������� ���������������#�������������������������������������� �����
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�� �����������������������
,���&���������)����+*+< ����������������
������������ �� �����
����!"������ ��������� #���� $
�����+ ����������)�*����������)�������)�������� �������"���=�)2� ����(��"�� �����5�����������)���)�*����������
�����, !���(� �2���������������������������(� ���� �������������� ����������������������)���)�*��������������)("��)�����"�� ������ ��#�����������"�
�����- �)������� ��������.��)�������������"��!���5�������)"�����(�����������������)���������$���������)������(�����������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�� �����������������������
,���&���������)����
+*++������������ �� �����
���$��0�� (���
?����������������������������������������� ������������������ �����������������������������8�����������'������������� ���������������������������������������������������������9
#define UF_CALL(X) (report_error( __FILE__, __LINE__, #X, (X)))
static int report_error( char *file, int line, char *call, int irc){if (irc) {
char err[133],msg[133];sprintf(msg, ”*** ERROR code %d at line %d in %s:\n+++ ”,irc, line, file);UF_get_fail_message(irc, err);/* NOTE: UF_print_syslog is new in V18 */UF_print_syslog(msg, FALSE);UF_print_syslog(err, FALSE);UF_print_syslog(”\n”, FALSE);UF_print_syslog(call, FALSE);UF_print_syslog(”;\n”, FALSE);if (!UF_UI_open_listing_window())
{UF_UI_write_listing_window(msg);UF_UI_write_listing_window(err);UF_UI_write_listing_window(”\n”);UF_UI_write_listing_window(call);UF_UI_write_listing_window(”;\n”);}
}return(irc);}
�(�$���
�(�����()����������)���������������������������( ����������� ��������9
UF_PART_save_all( &errcount, &errtags, &errcodes);
�����������9
UF_CALL( UF_PART_save_all( &errcount, &errtags, &errcodes) );
� �������������������������������������������������������������������� ��������������������������������������� ��������������������������8����������'������&�����������������������������'�������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�� �����������������������
,���&���������)����+*+, ����������������
������������ �� �����
��$���++�������)��/$%!
<������ �:�����%FF��#(:.�!���������'��� �����������������������������������
(����:�����%���������������������� ������ ��������������(�����������������������:�����%FF�������������%9V�������-����V<������ �:�������������#(V:�.9
3� %����� ���� ����)��B>&�#B$��V������V'�.B ����V'����*����
��
%9V�������-����V<������ �:�������������#(V:�.V'����*����
� %����������� ������)��B>&�#B$��V�),�#�V'�.B ����V:%?������V�����������B�= B,���
��
%9V�������-����V<������ �:�������������#(V:�.V:%?������
"� ���0��#���1���#�'��������'�������9<�:%$��
��
%9V�������-����V<������ �:�������������#(V:�.
2� ������������������= �!%������������������
;� �����<������ �:�����%FF ����������������������������N��'��'N
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�� �����������������������
,���&���������)����
+*+-������������ �� �����
?������������������*��������*����������� �����������������= ,���?������������'��������
-���������*����"������������������������ ��������������������%>�
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�� �����������������������
,���&���������)����+*+/ ����������������
������������ �� �����
(�������������?,�%������@�����'��'������������������������������� �������*������������%������.���������������*������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�� �����������������������
,���&���������)����
+*+0������������ �� �����
�����&��������������������������������������� �����������0������������������1�������������������0%FF��%1�%������.�������� #����������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�� �����������������������
,���&���������)����+*+1 ����������������
������������ �� �����
�����#��������������������� �������������'������������������#���� ��������������������������������?�������'����������������������������������.��
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�� �����������������������
,���&���������)����
+*+3������������ �� �����
(��,'��'���������������������������������������������������� ��� ��������*����
?�����������A���������������������= ,���?�������������������*��������������%������ ����(�������� ��������������������������������������������������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�� �����������������������
,���&���������)����+*+4 ����������������
������������ �� �����
���� $�/���&�$/�&$� $+��-����/�-��(����)��/$%!
� ����'����'�������������������������8 ������$,�������������(� ����� ����������������������� ����������D������
��������5��������������������������,���&���� ������)�����9
�
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�� �����������������������
,���&���������)����
+*+;������������ �� �����
���������,'��'����������� ���&���� ������)�����������2��%�������������"����)��9
�
-�����������?������,����������������������������������������������5� ������A��"�������""���������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�� �����������������������
,���&���������)����+*,< ����������������
������������ �� �����
%&&�'( G����'��������������������� ���������������8���,���&�������������������������� ��������� ����������8��������
���������������9
� ��'�8������ �����������
� #������������������'������������� ���� ��#����%����������A��8�
� A����������������8� ��������������'�����������������
� %��������A��8����������������������-���������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����
,*+������������ �� �����
� ��!����������%� ��
&����������������� ,���&�����������'������������������������������������ ������������ �����'���������������� ��������0,���&��1��������������'�)����������������� ���0)��1�������0��������� ��������1������� ����������������������(���'������� ���������������� ����,���&������� �������������������� ��������&�� ���������
��������� ��������������� �������������������������9
� %���8����������8��,���&�����������
� %�������������� ���������������������������������
� ������ ��������������������������'������ ������ �����
� ��'�8������������������� ��������$��������������������������
� ?��8������� ������������������������ ��������$������
� ,��������������� ������������� ���������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����,*, ����������������
������������ �� �����
(�����������������������������,���&������������������������������������� �����/����������������������������������������������������/�������������������������������+������?�������������������*������������'����������� �������� ��������9
� ������������
� ����B�������
� ����B����B������
� ����B�����������
� ����B���������B��������
� ����B���������B��������
� ����B���������B������B�������
� ����B���������B�����
� ����B���������B���B�������
� ����B���������
� ����B�������B'������
� ����B������B
B�����������������
� ����B������
� ����B�������
� ����B�����B��������
� ����B�����B��������
� ����B�����B�����
� ����B�����B���B�������
� ����B������
� ����B������B
� ���B����B�������
� ����B���B����B��������
� ��B���B���B��B'�����
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����
,*-������������ �� �����
�.���--�0-�!!���$3� &
(�����/��'�� ������� �������������,���&������������������������������� �) �������G��������������������'������� �� �) ������� �������� ���������������������/����������������������(���������������������������������� ��������������� ������������������������������������������������� ����� ��������=���8���������'���������������������� ������������� ������������?��������'���������
&�������������������� ����������'��������������������������������D����,���&����������������������'���������8��&���������������������%������������*������������8�������������'����������������������� ���,���&�����������'��������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����,*/ ����������������
������������ �� �����
(�����������������������������������������������������9��������� ���������� �����������(������������������ ����������������������������8�� ��������(������������������������������ �������������������<�������������� �������������������������������������������
&�������� ��������'��������������8���������������'������� ��������������8��������������������������>�����������8������������������������ ���� ��������������������
Top Half
Bottom Half
Hole for Photocell�� �� (��� ��9)�������� ����� ��
Button Hole
7)����
A��)���,*+<����� ����/��������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����
,*0������������ �� �����
(�� �����������'�����������������������������������������������������������������,���&������������������������������ ����(��������������������������� ���&������������%����������������,���&�������������������������� ���������������������� ���� ���(�������� �������������������������������������������������������������������&�����������������������������������������'���������������������������������������������������
������-������������$���+� $�+�&
W�������P� ��Q'���� ���0����U���������U����������������B���1I������T���S�-B����������01T����#����)�������C�7�����(�������"C���S�-B���������01TJ���� ���B��8B������0'���1I������0�-B��A,&$B�<<#$�&(#AG1TJ
,�������������,���&������������������������������������������������������ �����������(����� ��������'����������������� ����������������������� �������������������������������������(�� �������������� ���!��"!������������� ���� ���������������������������������� ���������������������� ����������� �����G��������%!�������������� ��������������
?����������'�������������������������������M����������������N�������(���������������8������������������������������������������������������������������������������� ���������������������������������������������������������������������������������������������
(������������������������������������8����������8�����������'����,���&����������(���������������������,���&�����������,�������#�����������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����,*1 ����������������
������������ �� �����
1� ��!��0�� (���40�� (���&�2$�&���!
&,���&�����������������8������������� ������������,���&������������������
� AD������ �@�
� AD���"�����
� ����AD���"�����65���8
� )()��D��#D)� ���
� )()��D� ���)�
��� G���������� ���B������������*������������ ���B��8B�������� ������� ���B���������������� ������ ���B��8B��������������� ���B��������������������������
(������������������ ��������� ���������������������������������A��8�������������������� ��������������������������������������8��������
�����!���������)"���
,������ ������+�)$,%+����B ����+������B���+��������������������������� ���)( ����������������� �� �������������������������������������A)������������ ��������������������������� ������'�������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����
,*3������������ �� �����
0�- �-�&$����&����$��&5� �- �-�&$�6
,��,���&������������������������������ ������������#��(�������������������������������������������������8������������������������%������������������������������������������'���������� ������������������8��
������ �" ���*����"�����+�
(�� �����������������������������������,���&�������� ����
#include <uf.h>
#include <uf_defs.h>
)(���������������������� ������-B��������������-B��������� ���������,������������������������������������������������������ ����(���������������� ����������������,���&���� ����������������������������� �����������������E��������������������������������� �����������������
(������������� ����)(D��(����������������� � ���������,���&������������������-�������0������������� ,���&��1������������������� ��-�������-����������������������������������:37 ����������'������� �������������������� ��������������-��������������������������'���������� ����0��������M�����N1��������������������
(��,���&���� ���������������������������� ��������� �����#������������������������������� ����������������������������� ��������������(�������� ��������������������������������������������������,������/��������0H�)��B>&�#B$��+������1�
#include “calcproto.h”
void ufusr(char *message, int *eflag, int mlen)
(�� ���M�����������N����� ��������������� ������������������������������������'�������(���������������������� ������������������������ ��������������������������,���&���(������������������������������������������#�����
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����,*4 ����������������
������������ �� �����
%���8��� ��������'���������� ��������'��������� ���������������0� �����������-B����������������� ���1�
/* check for an active part */ flag = calc_part(); if(flag != 0) return ( );
<��������������������������������8���� �������������������������������������� ���������(�� �����������!��������������������D����������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����
,*;������������ �� �����
��+$�����/���!!����2$�&���!
����,���&��������������������������� ������������������������� �������������������(��,���&����������������������������������������������'������������������ ��������������������������� ����������������������������� ������������'����� �����������������������������������������'�������������������+,������� ����������������� %A�(�������������������'��������������������������'���������������� ������������������������� ����������������-B �������-B ���B������B������������������ ����������� ������������������������������ ������������������������
<����������������,���&������������������������������������������������� ������������������������������������ ����������������������G������������ ���� ������������������������������������������������������������� ��������������� ���������������������������������������8�������������������������M,��� <�������������<�������N���������������
(����������������������������������'��������� ���������������������������������D����� �����,���&�� ����������������(���+,�������������������������������������'������������,- ��,�����+-���������&����������'�����������,���&���� �������������� ������� �� �������������������D���������������(��'����������B�������� ����*����������&���B�B�������������������� ����*���������0��!�$���D��'���������!�!1�
� AD(���EX
� AD(���D������D�����X
� AD���D(�� D"������
!���������,����
<��,���&�� ���������������������'��������������������������%!��! ���!&�������-��������������������������� ����8��������������������������������������������������������0%�������������������������T���������� �������������� ��<����1�(����������������� ���� ����������������������������������������������������������������
W�� ����-B%&AA0=10������0W=�__-�A#__�__A��#__�0=111
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����,*+< ����������������
������������ �� �����
(���-B%&AA�������'�8�������������0�����1�������������������0=1��������������,���&�������(��%�������������������'�� ����� ����������������������'����������������� ���������� �����������0-�A#���A��#1�
static int report( char *call, char *file, int line, int irc){if (irc) {char messg[133]; printf(”%s\n%s, line %d: ”, call, file, line); (UF_get_fail_message(irc, messg)) ? printf(”Returned %d\n”, irc) : printf(”Error %d: %s\n”, irc, messg);} return(irc);} /* report */
(����������������������������������������������� ����/���������������������'�������������������������������������������(��W�� ���������������������������������������������������������������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����
,*++������������ �� �����
���&�2$�&���!
����� ��,���&�����'������������������������� ����������������� �����G������������������������ ����������������� ����������� ������������ ��������������������������G����'������������������������������������������ �����(��������������������������������� ���� B�������(�������� �������������������� �������� ����������������������������� �����(���������������������������������������� ��������������
� AD� �!D����
� AD� �!D� ���D�
� AD� �!D��5�D�
� AD� �!D��#D����D��"�
� AD� �!D��#D����D���
� AD� �!D��#D)����
� AD� �!D��#D���� ��D����
� AD� �!D���D���� ��D����
� AD� �!D��D"���(���
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����,*+, ����������������
������������ �� �����
�����2$�&���!
&������������������������� ���������������,���&��������� ���������(������������� ������������������'���������������������37������������ �����������<��� ���������������������������������,���������������� ������������ ������8��
(����������� ������������������D������������������(����37�� ����������'��������������������������������������� �������������� �������� ����������������'�������������� ������������������������ ���������
� )�+1<+ ���� �������"� ��'���������������)�� ���
� AD�D���D����)�
� AD�D���D���"��
� )�+1<- ���� ����� �������'��)
� )�+1<0 ') ��� ���� �������'��)
��� �������'�������� �������������D�������������3�������������������37!3�-����������������������������D�����0V�1������������������������ �������������������
0$/��/�! �!!�$�7� �- 8���&6
���B�������T+U���� ����������U+
��!�������� ����������������� ���%������������!�����������������������M���B�N�����'����������������'������� ������*���T������������*������������������� �������������� �������� �������'���������������������������������������������� �����M�����������N�������������B�����������'��������������������0� 1�������� �����B�����������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����
,*+-������������ �� �����
��������S�-B�&�(B��8B���B�����01T
%��������������������������
����S��37!"0������� ���������� 1T
��'()*�����������������������
�-B�&�(B��'�B���0Y���������Y��������Y��������1T
��'������������������������������������������ ��������������������9
� �����������
� ���B�U�������
� ���U��������
��������������������������������%!��+,!��-�!�������������������� ��������� ������������������������'������������ ������������ ��������� ����%!��+,!��-�!������������������������������� ���������%! �������������������������������������������������'�������8���
�-B�&�(B�����B���01T
%�������������������(������������������ ����������������?�����������8������D��������� ������������
+U������'������������������������S�-B�&�(B�����$��������������������������������/����� ��������������U+�����0�����M�+��������������N1T����S�-B%&AA0�-B�&�(B����0�����Y�������Y�����1 1T� 0����1������0����1T
�%!��+,!������������������ ���������������������������������(������������������������� UF_PART_load_status_t estat.(����������� ���-B�&�(B����B����������������������� B������ ���
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����,*+/ ����������������
������������ �� �����
�� 0�������B�����1I��37!30M%�����������������������������������������N�31T��37!30M(������������������ZN�31T�-B ���0��������������1T�-B ���B������B����0�������B������������ ���B�����1T������031TJ������0!1T
���������������� �������������������������������� ���������������������� ���������%! �������������������������������������������� ���������%! ���!�����!����.#
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����
,*+0������������ �� �����
����!"��) �� �����*����� �������+� �
�����+ ������.�������(� �������������$���������� $�����������$������������������)���)�*����������
�����, ��������������������5���(��������������������()���������������������������,*0�(�������.�"� ����.�"�������(� ����������� �
� (����������������� �����������'�����������������(�� �����������������������D���������� ������������������ B�������(������������������������������� ������'�����
+U������� ��������������U+W�������P� ��QW�������P� B�� ���QW�������P� B������QW�������P�������Q+U��������� �� ������������������������������U+�������B����0'���1T
�����- �������������������������������������������������(��"��������5��������������������������"���""������F����� ������� ��������� �����(�����������������%���� ���()�������� ��
��� %���������������M+U===N�������������,���&�� �������������������������,����������������������������������� ���������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����,*+1 ����������������
������������ �� �����
�����/ ��)��������.�2����2�2������������5����"�������� �������G� �'�H�(��"�����������)����"��)�����#����G��.���� �6�������?��)���� 8H��������(��"���� �"�������������� �������)��"��)�����"���������)�"��)�(�����������
�����0 ��������������������������()�������������������������7%7I��������A��"�����2����2�������������������5��)�����$�)���������""����G"�#�����H������"�� �& ��#���)�������"��=�)�"�����5������������)��(� �6�8�����(�.���"�� ��������
�����1 ���������"������������� ���������������������5�����
�����3 �)������������"�����������!������2���������� ���������2����)�������� ������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����
,*+3������������ �� �����
!�����&��,� ��&�-��
� �������� ��2����� �.����������� ���������������[������'�������������������� ����������(����������� �������������'����������������9
� ���'�����'�������������������������'�������������������������� ������������������������������ �������� ���0������������������1�������������������������������������������������������������D�����������������'�8��������� ������������)����������������� ���0)��1�(����������� ��������&����������������������������������� ����������� ���� )���������������������'�����������8��� ���� ����� ����������
� ���������'�������������������� ���'��������������������������������� �������� ��������������
� &������������������������������������������*���������������������������������������� �������*���������������
� &��������������������������� ������������
� ���'��������������������������������������������� �������������� �������������*����-������������������� ���������������������������(���������������������������������� �'��������� �����������������0����� 1�&��� �������������������'���������������������������*��� ���������������
� ���'������������������'����� ����*������������������������� ������������ ���������������(��������� �������������������������������������������������'��� ��������������������������������'���������
(����������� ������������������������9>��������3���� ���������������������������������9>��������3���� M����N ����(������������� ���������������������������� �������3���� ��������
����,���&�� �����������'��������������������� ����������������� ���������(���� ������������������������������������������(�� �����������������������������,���&���� ������������������������������ B������������� ����
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����,*+4 ����������������
������������ �� �����
��.$(����&����&�-��
G��������������������� ��2����� �.��������� ����������� ��&����������������������0 �� �������→���������(������� �����1�G����������D���������'������������
A��)���,*,&��������(����������� ��������
,����������������������� ��������������������������� ��������)������������� ������������<������������������������ ����������0���������$�����$�����1�(��$�����$���������������������������������������,O�&�������%�������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����
,*+;������������ �� �����
�&�-�������!
' ���� �����
%� ���� �*�
�!� �& �����
, ���,����
��� ����-� �
��������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����,*,< ����������������
������������ �� �����
!�����&��,� ���&�-���2�!$�� ���/�&$�
(������������������������������������� ��������������������� ��������� ������������������,�*����������� �������������������� ��� ��������������(��������� �������������������������� ���������������'������������������*�����������������/0���/��1����
A��)���,*-��������� ����������������#�����
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����
,*,+������������ �� �����
��3� &�'�$%!��
(��,�*���>����������������� ������������ ���,�*����0��,�*����1��������'������������������������(�������������������������������������,�*����������� ������������� ������*����(����������#��������������������������������������������� ��������������������,�*���>�������G������������������������ ���,�*������������������ ����������'����*�����������,�*���>�������
��� (��$������������������������������� ���,�*������������������������� ���� ������������
(��,�*���>������������������������������������ ��,�*�����������������(����������������+���+������������ ��,�*�������������������������(����������#�����������'���������������'�8�������������������
��.�����-$�
(����5����� ���������������� ��������������������������������� ���������������������������� ������������(�������� ���������������"!�����������������������������������������������������:�������������� ��� ���������������������������������������������������� �����������������3" �������������������� ������� �������� ���������� �������������������������0�����'�&��������1�#����� �������1����������������(���� ���������'�������89
������ ��� ����� ��������M����N �������������
������ ��� %������ ��������M��N �������������
�������� ��� ,���&���������� ��������M��N����������(���� ��MB��������N��������������� ����������������'����
(��%���������������������������� �������������������� ������������(���������������������"�������� ��'�8��������������&�������������������������������������������������'�8�����������&������������8��������������������������� ����
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����,*,, ����������������
������������ �� �����
����������$�&���!�,$��&���!�����&��,� ���&�-��
������������������������������������������8�������������������� ���������0���������'��������1����������������������������������������������������� ��������������(��������������������������������������������������� ���������(�������������������������������������������������������������(���>���5��������?������������������ ������� ������-��� ��������������������T��� ���������������� ��'��������
(����������� ���������������������� ��� �����������'���(�����������������������'�������0�������'�1 ���������� �������������������(����'������������������� ���������������������������������,O�������(��,���&�����'���� ������������������8���������������������� ���������������
(����������� ����������������� ����� ��������&(��������������8���)$���������30�������<��������������1�&���/������������D��'��������$��������� 0��������������� �����������1�(���$& �����������'�,O�&����>��8����%�������������(��&����������������������������������������������������������������� ����
� AD�!=���D������D��� ��
� AD�!=���D��#D5� )�
� AD�!=���D��#D5� )��
� AD�!=���D���D5� )�
� AD�!=���D(���D5� )�
9���������&&����&�!
(�� �����������������������D������'���-B�(GA#�B��8B'�������-B�(GA#�B��8B'�����9
� �-B�(GA#�B�#���(�:�(G
� �-B�(GA#�B�#A#%(�,�
� �-B�(GA#�B:���>�A�(G
� �-B�(GA#�B:&A�#
� �-B�(GA#�B��>�(#<B:&A�#�
� �-B�(GA#�B�(#<B(G�#
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����
,*,-������������ �� �����
��&&�����&&����&�!
(�� ���������������������������������������-B�(GA#�B���B'�����
� �-B�(GA#�B�#���(�:�(G
� �-B�(GA#�B:���>�A�(G
� �-B�(GA#�B:&A�#
� �-B�(GA#�BA&>#A
� �-B�(GA#�B>�(<&�
� �-B�(GA#�B-,%��
� �-B�(GA#�B��>�(#<B:&A�#�
� �-B�(GA#�B$#-&�A(B&%(�,�
� �-B�(GA#�B$�&A,)B?�$(5
� �-B�(GA#�B$�&A,)B�#��R#
� �-B�(GA#�B�%&A#B��#%���,�
� �-B�(GA#�BA��(B���#A#%(
� �-B�(GA#�BA��(B���#�(
� �-B�(GA#�BA��(B$#A#(#
� �-B�(GA#�BA��(B�5,?9
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����,*,/ ����������������
������������ �� �����
����!"�%� ����� �*� � �!� ��*�������������,���
����������'������������������������ ������������������������������� ��������������������5��������?�����
�����+ %�������������"���(� ��(��"���������������������
� %����� ����������������������������������(�� ������������������������������� ��������'��2����1������9����������������������������������������'���
�����, �������������������(������� ��
� %����� �� ��������→����������(������� ������
(����������#��������,�*���>������������������(��$�����$�������������������� ������� �������������������� ���,O�&������%�������������
�����- �����(����������)�����(���������� ��
(���� ����������������%5&�)#�(������������������������������������ �������
� ��������(�.��"� ����� ���$����������������&�������������������������������� �����������#�����
&����������#����8�� ������������ ���������$���������������$������G�����������������������������#�����$��������������� �������Z
!��
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����
,*,0������������ �� �����
� %���8�������� ���!�� � ������������M%����������� �N0�������������#����Z1
� %���8������)� ������������M����� �����5���������?����N0�������������#����Z1
A��'������� ���!��������7����"�
� ������7)�������� ��%�������������������������������%>$�7��#$���������� �
���������$�����$�����������������>��8�������������� ����� ����&����������
� ������������ ���������5������� �����,O��������%((0�������8���1
(��,O���������������'������������������������������������������?�������������������'�������������������������������� �������������
� ������ �2���� ����������@���%��0����8���1
� %���������� ���#����
(���� ���#������������������ ���������������8��(�����������8 �������������������������+��������������������(��>��8�������8������'���� �����������8����0�������������� ����>��8������1�(��%����������������������������������������D��������������8�?����������,O�������8�(��� ��������������������������&���������������������������������������� �������������
� %���8�����%>��� ���# ������������M�8B��N0�������������#������������8������D�����Z1
�����/ ��������)������������"�������)����(������ ��
� %��������!�� ��� ����������������"���������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����,*,1 ����������������
������������ �� �����
&�� ����(������������������������������������������,�*�������������������������������������#������
�����0 �����(����������)�����(�������!�� ��� ������)�����
� �����������(����������� ���������M����N�
� %���8����������������������7��"�� ���������'�������������������������
��� �����2�������/����><������ ����������������������������B��������������� ���������������(���������������� ����G�������������� �������'���� ���������&�����������&� ����������� ��������� �����������������������3����������������� �����
(����������������:���� �������������� ��/3�(�����������������������������������������?������'�������������������������'��������������!�-����������������'�����������3�
(����� �����������������������������(������� ���������������������� �����0�������1��������������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����
,*,3������������ �� �����
� O�����������M:�������N���M5���������N�����������������������"������������
� %����� �� ����������)�����������������
(�������������������������������� �����������������'���������������������������������������������
� ��������� ���������M����� %��������������N
� %���������� ���#�����
� ����� ���5��������������M����B���N���������������#�����
�����1 ���������!�� ��� �����������"�������������������������
� %�������� �����"���������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����,*,4 ����������������
������������ �� �����
� <�8�����������������������%����� �����"���������
G������������������������� �����������$�����$������(�������������������������������������������������������������������������������
�����3 �2�����)������������(��������&�����
� �����������������������
(������������������������������������������G���������������������������������� ������������
� ������������ �����
� �����������(���������� ����8���M5�����N��������������
?�E�����'���������������'������!�?�������������8���������������������� ����'����� �����������
� ��������� ������� ����8���M5�����N��������������
� %���������������5���������A� ��C������������������8��������������8���
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����
,*,;������������ �� �����
(��� ����������������'�0����������'�1�������������������?������������� ��&���'���%������8�
� ,��������������������� �����
� �����������(���������� ����8���M?����N��������������
?�E�����'���������������'������!�*���������� ���������
� ��������� ������� ����8���M?����N��������������
� %���������������5���������A� ��C������������������8��������������8���
(��� ��������������������'��������������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����,*-< ����������������
������������ �� �����
(����������������'����������������� ����������%����������������������������0����������������������� ��*����1������������� ������������������������
�����4 ��5��������� ��$���)���$������������(� ���
� %�����A� ��→���5��
� <�8��������������������������Z#������� �������M���B����B�����N0����������������������1�
G�����������'��������� ����)�������������������������� �������� ������'�������'���(��$�����������������(������� ���������������������������������
�����; �.���������� ��� �� ��������
� %�����A� ��→ �.������ ��
� %�����MG��N���������������������������D����
�����+< �J)���������)����(� ����"��������� ���(� ������������
(������������'������������������ ���������� ������������� ����'����������'������������������������������ �����������������������'����'���������
(�������� �������������������������������������������)���������������8�������� ������������� ������� �����
���������������������?�������������� ���������������������������?��������������
� ����������������� ��� �������������������������������0������ ���������8�����������19
�'��+���B����B�����B�������������B����B�������
� <�'���������� ���������������������������0 �������������1������������������9
��\+������������'��+���B����B������������B����B���������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����
,*-+������������ �� �����
�����++ ����������������(� ��������� )����)������������
� #������ ������B����B��������������������
W�������P� B�������QK��� )���G�� ��������H
�����+, �����������)����(� ����������������������������
(�������� ���������� ����������������������������������������?������������������ �������������������� ����'�8�������������
� -�������������� ��������������� ���������� �����������8�A��8 ����� ���������������9
+U///////$�&A,)%�#&(�,�-�,<&%&AA>&%O5#A�/#������/////////� ����������'������������������� �������������8� ���������������� �����������������������9
� $�����������������W� �� �����(���������������������������������������������������������(�����������������������������������������������9
W� �� $���A&GB-�,<B%&AA>&%O
� #����� ������������,�� ������������������8���������������������(��������'����������������� ��>��8�%������������������������
���������L������������"���(���)��()������M0����B��������1I>���������
����������� �D���)�0����B��� �$���)� ��B������$���)� �B2����1
� ����'��������������������(�������������
� 00�����B����S�-B����������011ZS!1������0!1T����-B���������01T
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����,*-, ����������������
������������ �� �����
� &�����������'����������������������&�����������������������������������������������������������������(�����������������������������������������8 ���������������������8����������������������������G����������������'��������������������������)�����'������������������������
��������B����S!���������T�������)����� �D����D�����N����������� �C�����������)� ��������C�����������)� ��2����C����O���� �D�����P�N*+$�<�$�<�OC
� %����������������������������������������� �������������������������AA��������%����������������������������
� 00�����B����S�-B�(GA#�B������B������0N���B����B���������N�%&A%B����+U%������8� ���������U+%&A%B%>B%,��(�+U������� �������8�U+Q�� �D�����+U(������������������U+Q��������11ZS!1
� #���������������������������� ������������������������������������0�����1� ,O���������������������/����� >��8��%�����������������
������0�����B����1T
�������9
�����(6�AD�D%>�PP����������8�N��������B��� ��P��� �D�������� �C��������B�������P��� �D�����������C��������B2�����P��� �D�����2����C�����������)��6�<�8C����O
�������)��6�+�8CO
� ����'����W���� ���������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����
,*--������������ �� �����
W���� +U$���A&GB-�,<B%&AA>&%OU+
�����+- ���()��������� ����������� ���#��
?���������������������8�����������������������'������?�����������������������������������������������8�(������'��������������������������������8�(��������+������������������������,O�������8
� -�������������8�������� �����
+U///////////////////////////////////////U++U/////////�������%������8-��������///////////////U++U///////////////////////////////////////U+
� %����������������������B��������������$������������� �������������'���������������$�����������������E�����E�
���%&A%B�8B��0���������B���'���U������B������-B�(GA#�B����B'����B���B�B��������8B����1I�������)����� �D����D�����N���������� �C����������)� ��������C����������)� ��2����C����O��B�� �D����D�C
����AD�!=���D���"D5� )�D����D���� �R,SC
������)��C
� ����'��������-B��������������-B���������������
+U<�8���������-����������'��������U+� 0�-B����������01ZS!1������0�-B��B%>B%,�(���#B$�&A,)1T����-B���������01T
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����,*-/ ����������������
������������ �� �����
� &����������-B�(GA#�B��8B'������������������������������������������������&�� ������������������������������������������ ���������������������������G������������������������������������B����B������������������������
+U////#��������������8��������/////U+������ �D����D��P�� ����D����C
����� �R<S����"D���P�� ��D�����!C����� �R<S����"D�����P�AD�!=���DF ��C
����� �R+S����"D���P�� ��D���!�C����� �R+S����"D�����P�AD�!=���DF ��C
����AD� ��6�AD�!=���D��#D5� )��6���� ��D��$�,$�� �$Q��)���8�8C
������ �D����D�*M�������P�� �R<S�5� )����� C������ �D����D�*M2�����P�� �R+S�5� )����� C
��������>��8�������8��������������(������������'����������������������������������������������������������������������������
� ����'�����-B��������������-B�������������� ����������!/��"!�/ ��������
+U<�8���������-����������'��������U+� 0�-B����������01ZS!1������0�-B��B%>B%,�(���#B$�&A,)1T����-B���������01T
(�� �����������8��������������������������������� �������(����������������������������������������������� �����(������'�����������������������& �����������������'��������8����,O����������'������������������������5�����+?���� ������G�����������������������'���� ��������
� ����'�����-B��������������-B�������������� ����������!�.��!�/ ��������
%��� �������!/��"!�/
%��� �������!�.��!�/
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����
,*-0������������ �� �����
+U<�8���������-����������'��������U+� 0�-B����������01ZS!1������0�-B��B%>B%,�(���#B$�&A,)1T����-B���������01T
� %����������������������B��������������$�����������������'��������������
���%&A%B����B��0���������B���'���U������B������-B�(GA#�B����B'����B���B�B��������8B����1I�������)����� �D����D�����N���������� �C����������)� ��������C����������)� ��2����C����O��B�� �D����D�C
����AD�!=���D���"D5� )�D����D���� �C
� #��������������� �������� �������������G������������������������������������B����B������������������������
(���������������������� �����������������������������-B�(GA#�B:&A�#����������(���������'������������������������ ����������������,��calc_data_p–>style '������������������3 ��'�������� �������������(���'��������������0������1'����F3�
+U////#��������������8��������/////U+������ �D����D��P�� ����D����C
����� �����"D���P�� ��D�!=��C����� �����"D�����P�AD�!=���DF ��C
����AD� ��6�AD�!=���D��#D5� )�6���� ��D��$�Q� ��8�8C
� %���������������������'����,O��������������+�����'������,����������������� ������������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����,*-1 ����������������
������������ �� �����
����&B�!������ ���#����������5�#���2��������)�������#���������B������ ����������� �������� ��������(�������� ����������B������������$����T������������ �D����D��5� )�������������B�������� ����� ��������B&�����(6��� �D����D�*M��� ��UP�� ��5� )����������V�+�8�N���������� �D����D�*M��� ��P�� ��5� )����������V�+C���������� �D���D��� �D��� ��6���� ��D��$��� �D����D�*M��� ��8CO
� ��'���� ����G����'��������� ����������������!������� �����������!����!����#��G������������������ ������� �������������
�����+/ ��������������������������)���������������(� �������������'�#�(� ��
� #������ �����������!��!�.��!������#�������������������� �������������������!����!����#�������������������������������
� #���������������#�������������������������!���������������������������������������������������&������������������������ ����������� ������������ �����������Z
� #�����������#������������������ ������!������������!��!�.��!�������0%����������!����1
� #������<�8� ������������ �����������!����!����#��������!��!�.��!������#��������>,>]���������M��8����N�������������+���8��������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����
,*-3������������ �� �����
��2$�&���!�,$����3� &���-� &�$�
,���&���������������������������������������*���� �����������������������������������������80���� ������ ������������*����1��������� ��������+����������*������������������'�����
(�� ������������� ��������������� ���� B�����(��������������������������������������������������������(���������������������� ��� �������������������������������
� �-B��B�#AB�%,�#B?,�OB�&�(/&��������������������*�����������������������8�����(������������������������������� ������8������ ������������*������������������������������������
� �-B��B�#AB�%,�#B&�GB��B&��#<>AG/&�������������������*�������*��������������������������������������������������������
� �-B��B�#AB�%,�#B?,�OB�&�(B&�$B,%%/&�����������������*�����������������������8��������������������� ������������*������������������������������������
,�*������������������������������������� ��*������������������M���8������N����������(�����8���������D����������'�����0�������� ������������� ����*������1��������������������� ���������(�������� ���� B��*���B��������������'������*�������� �������� ���������������-B��B���B������B���801�<��8�����������������-B��B���B���B���801�
� AD�D���D�� ���D"��#
� AD�D�� ���D2���D� ���D��� ��
� AD�D�� ���D2���D���� �D��� ��
� AD�D���D�� D"��#
� AD����D���D���� ����
� AD����D���D���� ��
� AD����D���D���"D��D���� ��
� AD����D����������D���� ��
� AD����D��(����
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
%� ����� �����
,���&���������)����,*-4 ����������������
������������ �� �����
%&&�'( G������������������������������������������������ �����G��������������������'������������� ����������������������������G���������������������� ������������������������������������� ���������������������������������
���������������9
� A���������������+����������'����� �����
� A�������������������������� ��,���&�� ����������������������
� A���������������������������������������� ��������&������������������������������� ����������������� ���$������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
��� ��� �
,���&���������)����
-*+������������ �� �����
� �$���� %� ��-
&��������������� ���������������������������������������������������������������������������&������������%����������(����������������������������������������������� ���������������,���&�� �����������'���������8��������������������
��������� ��������������� �������������������������9
� A����������������� ��������������&������������%�������������������
� ������������������������������������������,������������������������
� >����� �������������� ��������������������������������������
� ,������� ���������������*������������������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
��� ��� �
,���&���������)����-*, ����������������
������������ �� �����
(������������������������������������������� ��� �������������9
A��)���-*+(�������� � ��������
A��)���-*,(����������� � ��������
A��)���-*-(������'������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
��� ��� �
,���&���������)����
-*-������������ �� �����
$���$%����!���
(����������������������[�������������[��[��������������������������������������������������������� ������� ���������������(����������� ������������������������������� ��������������������������������������������������������������������
������� ���������������[�������������[��[��������������������E�� ������������������������������(��� ������������������ �����������0������������������1���E��������������8�������������������������?���������������������������������������������������������������������������������������
�!!�+�-����+��$-$�����/�0$� ��&!
(�� �����������������������������������������������������9
&��������� �������*������������������(����*��������������������������������*�������������������������������������������������
&�����������������������'������������������������������������������� �������� ���������������������������������������������*�����
?�����'�����������������������������������������������������������*��������������������������������������������������������������������������������)�������� �����������������������������������-��������*����������������������J�������)������� ������*��������������������������
&��������������������������������������������� ����������������������������������-������������������������������������������������������������������
&�������������������/��'�����-��������������������������������� ���������������������� ���������������������������� ��������� ���������������������� ���������������������������� ��������� �����������#����������������'�������������������������������������
&��"����������������������������������������������&�����������������[������������������ �����������[��'�������������#��������������*�����������������������������8�������������������?��������� ����������� ��������������������������������������������������������������������������������������� ��������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
��� ��� �
,���&���������)����-*/ ����������������
������������ �� �����
�����0����� ��:3!���� ���1�������������������������(���%!��&�����!.����������%!���!����������!��/.����������������������������������������� ��:6����� ����(������������������$���<������(���%!��&�����!.����������%!��&�����!��/.���
&��(���������������������������������� ������� ��������� �������(���� ������������������������� �������������������������� ��������������������������������������������
(������ �����������������������������'��������������� ����������������������������������������������
(�����#������������������������������������������������������� ����(��?��8���������������������$������������?����������������������������������8������������ ������������������������������?������$�����������������?��8��������� ��������8������� ����������������8������������������������������.��
&���������������������� ���������*��������������&���������������%�����������������������������������8���������������������������(���������*������������8�������������������?��8������������������������*����
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
��� ��� �
,���&���������)����
-*0������������ �� �����
��+�-���!!�+�-�
������������������������ ������������������'�������������9���������������(������������������/���������M���������9N
&���
&���
?����
��������/29������������/"9-����
��������/39A� � ��������/ 9�����
A��)���-*/A������)����
-�������������������� �����������������������9
?5##A����/���/3
,�*���/���/3
A��)���-*0?5##A���(
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
��� ��� �
,���&���������)����-*1 ����������������
������������ �� �����
&=A#����/���/
����B,����/���/3?5##A ?5##A����B,����/���/
,�*���B�����/���/3 ,�*���B�����/���/
��������*���*+6��(�8
��������*���*,6�����8
,�*���/���/
A��)���-*1&=A#���(
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
��� ��� �
,���&���������)����
-*3������������ �� �����
&�(,����/���/"
?������D%��)�*���*-
?������D%��)�*���*/
���������D%��)�*���*0
���������D%��)�*���*1
���������D%��)�*���*3
���������D%��)�*���*4
��������*���*+6��(�8
��������*���*,6�����8
��������*���*,6�����8
,�*���/���/"
%�J���D���)�*���*0
%�J���D���)�*���*1
%�J���D���)�*���*3
%�J���D���)�*���*4
,�*���B�����/���/" ,�*���B�����/���/2
��������*���*+6��(�8
��������*���*-
6A����8
��������*���*/6����8
A��)���-*3&�(,���(
(�����������������M����,����������N�
#����������9
(������?5##A�������������'����������������/���/3������������ ���������*���,�*���/���/3�
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
��� ��� �
,���&���������)����-*4 ����������������
������������ �� �����
(������&=A#�������������'����������������/���/ ������������ ����*���,�*���/���/ ������������������������� ���?5##A������������������/���/3�������������A� �����������������/���/ ������������������������(��������������������������� ������������'�������������B,����/���/3�������B,����/���/ �������������,�*���,�������������������� ������������*������� ����������,���������������'���������,�*���B�����/���/3���,�*���B�����/���/ �
(������&�(,�������������$����������������'����������������/���/"������������ ����*���,�*���/���/"���������������� ���&=A#��������������������/���/"�������������-��������������������/���/2����������������������
�������������������������� ���&=A#���������&�(,�������������������,�������������������� �����������'�������������B,����/���/"�������B,����/���/2�������������,�*���,�������������������� �����������*����3 ����������,���������������'���������,�*���B�����/���/"���,�*���B�����/���/2�
�������������������������� �����������������&=A#�������������������,�������������������� ������ ���'������������� &=A#�������������(����2��������,�������������������� ��?5##A�(�����������,��������� �����A� ��������������0��������/���/31� ���-����������������0��������/���/"1����������B,����/���/;��������,��������� �����������������������0��������/���/31� ���-����������������0��������/���/"1����������B,����/���/7�(���������������,��������� �����A� ��������������0��������/���/31� �������������������0��������/���/21����������B,����/���/.��������,��������� �����������������������0��������/���/31� �������������������0��������/���/21����������B,����/���/4����������2����,�*���,�������������������� ������������*������� ����������,���������� ?5##A�(����������,�*���B�����/���/;�,�*���B�����/���/7�,�*���B�����/���/.����,�*���B�����/���/4�
(�� �������������������������������������������'���������������������������� �������� ��� ���������-����������� ����'��M�&�(���N����������M�&�(����N������������%!��+,!��"!���!��&��
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
��� ��� �
,���&���������)����
-*;������������ �� �����
!%�A�� ��F� � ��
�&�(���� �&�(��� �-B�&�(B��8B����B����01
�&�(��� �&�(�����&�(,%%��������(&�%#���
,>]#%(,%%�����
�-B�&�(B��8B����B���01�-B&��#<B��8B��������B� B���01�-B&��#<B��8B������B� B��������01�-B&��#<B��8B�����B� B��������0131�-B&��#<B��8B����B����������01F 1^�-B&��#<B��8B��������B� B���01
�&�(,%%����� �&�(����&�(,%%�����
���(&�%#���
,>]#%(,%%�����
�-B&��#<B��8B����B� B����01�-B&��#<B��8B����B���B��������01�-B&��#<B�����B��B����B����01�-B&��#<B��8B����B����B� B����01�-B&��#<B��8B����B���B� B����01�-B&��#<B��8B����B����������01
���(&�%#��� �&�(����&�(,%%��������(&�%#����,>]#%(,%%�����
�-B&��#<B����B����B� B����01�-B&��#<B��8B����B� B����B���01�-B&��#<B��8B��������B� B����0131 �-B&��#<B��8B����B����������01F 1 �-B&��#<B��8B����B� B����B���01
,>]#%(��� ,>]#%(,%%�����,>]#%(������
�-B&��#<B��8B��������B� B���01�-B(&)B��8B���B� B������01
,>]#%(,%%����� �&�(,%%�����,>]#%(���
,>]#%(������
�-B&��#<B����B����B��B����B���01�-B&��#<B ���B����������01�-B&��#<B��8B����B� B�����01�-B(&)B��8B���B� B������01
,>]#%(������ ,>]#%(��� �-B(&)B��8B������B� B���01
<��� �-B&��#<B��B����������01�-B&��#<B��8B����� ���B� B���01�-B&��#<B����B��B����������01�-B&��#<B�����B����B��B����B���01
��(�����������/?����'���������� ��� ����������������������������������������������������� �������������AA+����8��������������������� ���������M#���N���������������� ��������������������
���� ���������/&� ��������������������������������$������������&�����������������������������������������������������
���#�����/&� �������������������������������������� ������������������$�����������������������?��8�����,�������*����� ���?��8���������������,�*���,��������������,(�������������������D�������� �������������(�������,�*���,���������� ���� ���������������������&�(,���������� ���������E����������������,�*���,������������������������� �����������*���0��������1�����?5##A���������������������������� ������*����������������������������� ��������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
��� ��� �
,���&���������)����-*+< ����������������
������������ �� �����
0$$�/���&����!&�+!
&������������������� ��������������� ������� 7 �������������������������������������������'�������(�� ����'�������'��������������� ���=���������������������'�������������������������� ���G�����(����������%!3,�*!������������������������������8��������'��������������/�������
?�����������������������������������'����������������,��������<������������� ����(��,��������������������������8��������������������������� ���������������������������� �������������� ������������������(��������������������� ����������������������%�G������%�G�� ����� ���������0� ����� ���1���������������<����������,�����������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
��� ��� �
,���&���������)����
-*++������������ �� �����
�!!�+�-��2$�&���!
� AD ���'D������D��"������D����
� AD ���'D������D"�D�����
� AD ���'D��#D2��#D����
� AD ���'D��#D��"������D����
� AD ���'D��#D"�D�����D����
� AD ���'D��#D����"D�������
� AD ���'D��D���)������
� AD ���'D��D����D���)������
� AD ���'D��#D���������D�(D���
� AD ���'D��#D����D�(D����D���
� AD ���'D��#D������D�(D��������
� AD ���'D��#D��� �D�(D��������
� AD ���'D��"�5�D��������
� AD ���'D��#D����D�(D������
� AD ���'D��#D����D�(D����
� AD ���'D���D����"D�������
� AD ���'D��� �D����D��D����D���
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
��� ��� �
,���&���������)����-*+, ����������������
������������ �� �����
1�����2$�&���!
(�� ��������,���&������������������������������������������������ ��������8�����
� AD� =��D���D����)�
� AD� =��D��#D����)�
� AD� =��D��� �D��D ����
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
��� ��� �
,���&���������)����
-*+-������������ �� �����
��3� &�2$�&���!
(�� ��������,���&��������������������*�����(������������,���&����*�������������������������*�����������������������
� AD%7ID�� ���D��J���
� AD%7ID��#D����)�
��� G��������������'�������'��������������������/���'���*��������������� ���������������������)����������������������*������������������ �������*������������ ������������������������'�����������
� AD%7ID���D��(D���D�� ��
� AD%7ID���D���D�� ��
� AD%7ID��#D����D���D�)�����
��� (�������������������� �������������� ������������������������������ �����������,���&�����������?����'�������������������������������������������� ��������������*������������������� ���0����������1�������������������������������������,���&���������������������������*����������������*����-�������������������������� �������� ��*����������,���&�����������'����������������*�����������������,���&������������E�)�����N(�������������,�*���<����N�
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
��� ��� �
,���&���������)����-*+/ ����������������
������������ �� �����
������ �" ���*����.� �$+�
char pname[MAX_FSPEC_SIZE+1], /* new part name */ refset[MAX_ENTITY_NAME_SIZE+1], /* reference set name */ iname[MAX_ENTITY_NAME_SIZE+1]; /* name of comp inst */
<&=B-��#%B��R#���<&=B#�(�(GB�&<#B��R#����� ������� !�� �#��(���� ������������������� ����������������� �� �������� ����������������������,�������������������������������� ��������������������������������������%�
%���8� !�� �#��� ����������������������������� ��������������� �������������������*�����(���������������������������������������������� ����������� ��������W�� ������������������������������������ ���'����� ������� ��������������������������������������8�
const int zero=0, one=1, two=2, three=3;
����� ������'���������������������������������������?�E������������������������������������������������
:��������������������������� ����������'�����������������[������&'������������'��������������������� ������������������������������ const int one=1���D��'�������#define ONE ((int) 1)�
!��
double imat[]={1.0, 0.0, 0.0, 0.0, 1.0, 0.0 }, /* orientation for components */ origin[]={0.0, 0.0, 0.0}; /* origin for each component */
-�������� �������� ��������������������������� ���������������&�'������������ �������'������� ����������������&�������������������������������'���������������������������������� ���������������������������(������������������������������������ ��� �������������������������'������������ ����� ������ �������������� �����������������%!�43!�����!��&�����!����
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
��� ��� �
,���&���������)����
-*+0������������ �� �����
(��������'������������� ����������0�����������1���������������������������&����������������������������������������������������������������������������E�����������������-��������������������������'����������������������������E���������������������������������������������?��������������������������������������� ��������������������������������
tag_t nullt = NULL_TAG;
�%!�43!�����!��&�����!����������������� ����� ���������������� ����� �������������������������������&�����������������������������������E����������������� ����B�������������������������������'�������������������AAB(&)�
strcpy(pname,“./top_half”); refset[0] = ’\0’; strcpy(iname,“TOP_HALF”);
(���������������������������������������� ����������������������(��������'��������������������������� ���������������������(��������������0�����1���������� ��������������������������'���������������������� ���5���������� ���������������������������� ����
(������������� �����������������������������������[����������%!�43!�����!��&�����!����>������������������� �����������������������������������������������������������������'�������������������������������������������� ������������M����N�����������'��[�����������$���������������������������<&=������ �[������� �������'������������������.�����������
!��
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
��� ��� �
,���&���������)����-*+1 ����������������
������������ �� �����
0���&������0$+�$���&
flag = UF_ASSEM_create_component_part(workp,pname,refset,iname, units,one,origin,imat, zero,&nullt,top_inst_p);
%���������������9
� <�8��������� ������8����90'�������workp1
� ����������� �������� ��������90strcpy(pname,“top_half”)1
� $�������������� ������ ���������90refset[0] = ’\0’)1
� ������������������*���90strcpy(iname,“TOP_HALF”)1
� ������������������������������������90'�������units1
� �������������������*���������390'�������one1
� ����������������������������������%�G�90����origin1
� ��������������������������������� �����������%�G�90����imat1
� $������������������������������90'��������zero��*����,&nullt ����*������������������1
� (�� ��������������������� ����������������0���top_inst_p1
?��������������������������/�������������������������������������������������������������(������������������/��/���������������������������������������������������8����������������������������������������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
��� ��� �
,���&���������)����
-*+3������������ �� �����
����!"��� �� ���� ���!�������*������������
,���������8������ ���������������������������� �����(������������� �����������!����&�
�����+ �����������"� ����(� ��(���������������������)��)�*����������
�����, ���������������"�����������������������������5�� ������)��������������������������������"������"������������)���������������������������������
�����- ����������������(� ����������� ���������������������������������
�����/ ���������(� ��������������������������� ���������������������������������������)�������)�����&(�� )�������)����!��������)�")�������5� )�����������"����������� �����
�����0 �������������������������������������������7%7I�� �������"�#������2��.��)��� ����������� ���"� �����5��������!�� 6 !8����5��2��������)��)�����)�J)�����������
(���������������������� ������������������������ ���"� ���→�������→�������"�����������F��2→ ���"� � �5�������������������������������'�������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
��� ��� �
,���&���������)����-*+4 ����������������
������������ �� �����
������#�/������ 0��� 0����"����
�����+ ������.�������(� ��� ���� ���������)���)�*����������
�����, ������ ���� ��������5���(��������������������()�����������������
�����- ����������������������������(��"���������5�������������������������"���""�������F����� �������� ��������� ����(���"�����(����������������&%���� ���()��������� ��
��� %���������������M+U===N��������������)+,���&�� �������������������������,����������������������������������� ���������
�����/ ���������"�#��(� ��(�������������"���"������(� �����������)�����)�� ��������5����(� ���� �����������������)����������������G"�#���.��*(��� ���H�������������)��.��)��� ��
�����0 %��������������� ������� ���� ��
�����1 �)������������"�� ���� ������ ������J��������������5�����������������������(��"�����������������������(��"������2����2�
�����3 %������ �$����������"����2���J����������)������������"������
�����4 � �������������2����)����5����
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
��� ��� �
,���&���������)����
-*+;������������ �� �����
%&&�'( G������������������������������(��/�������������(����������������������������������������������������B��� �������B��� �����������
���������������9
� ��������� ����������������������������������������
� ��� ����������������������'������������ ���������������*������������������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
��� ��� �
,���&���������)����-*,< ����������������
������������ �� �����
6!������������������� ����(��7 ��#8
ÏÏÏÏÏÏÏÏÏ
�
�#�� �����
,���&���������)����
/*+������������ �� �����
�(��� ��� %� ��1
#������������������������������������������������������������������������������������������������������ ������#��������������� �����������������'������ �������-���������������������������� �����������'����������������������������� � ������������������������������� ��8�����
��������� ��������������� �������������������������9
� %������������ ������������������
� %����������������������������
ÏÏÏÏÏÏÏÏÏ
�
�#�� �����
,���&���������)����/*, ����������������
������������ �� �����
�:���!!�$����,���&�$�
&������������������������� �������������������&������������������������������ �/����������������/��������� �������������D������0�����5/6��#&���������������'��'����0�����������������������'�� �������������1��������������������'�������������� ������ ���������������(�����������'��������������'�������������������� ���������������������������������������������������������������(���� ������ �������������������������������'��������� ������������������������������'��������������������������0��������������1����������� ��������������������
#������������������������������������� ��������������������������������&������������MBN����������������M�������������N���������������������� ��������0����������������1�#������������������������������������������������ ������������������������'�������'�����������M=3N���� ����� ���M�3N�
0$�/�&�$��-��:���!!�$�!
G������������������������������������������ +��������������(��� +��������������������� �������������9
:&�S� 0����310���� 1����0����"1
-����������
�����S� 0������P410 1����0"1
���������9� ����������������4������������ T� ����������������������D�����4������������"�
& ��������������� ���������������� ���������$�����������������$�����→<��������(������������������������������������'���������� ������������������������0��������+����������������1�������������� ��������0��������011�'��������
(����������������������������������������'�������� ������ �'����������������8������������� ������ �'����������������8�(�����������������8�������������������������
ÏÏÏÏÏÏÏÏÏ
�
�#�� �����
,���&���������)����
/*-������������ �� �����
&���������������������������������� ������������������������������������ ���0 �������!����1�#�������������������������������������'������ ����������������������������,������������������������������������������������������������������������'���������������������������������������
���������������������������������������������������������������������������������������� �����(�� ������������������������ �������������� ���������������������������������� ��������������& �����������������������������������������������������������������������������������
ÏÏÏÏÏÏÏÏÏ
�
�#�� �����
,���&���������)����/*/ ����������������
������������ �� �����
�:���!!�$��2$�&���!
(�� ��������������������������������������������������������� ������,���&��9
� AD'%��D������D�.�
� AD'%��D��#D�.�
� AD'%��D����D�.�
� AD'%��D�� ���D�.�
� AD'%��D�5� D�.�
� AD'%��D�.����D�.�
� AD'%��D�"����D�.�
� AD'%��D����"�D�.�
� AD'%��D������D�.�D���
� AD'%��D��#D�.�D���D5� )�
� AD'%��D�� ���D�.�D���
� AD'%��D��#D�.�D���D������
� AD'%��D�������D�.�D������
� AD'%��D)�����
ÏÏÏÏÏÏÏÏÏ
�
�#�� �����
,���&���������)����
/*0������������ �� �����
�:���!!�$�!�,$��&��� �- �-�&$�
(�������������������'���� �������������������������������� �������� �������(�������������������������������������������0 �������������������1�(��M�������N����������������������������>����������������
A��)���/*+5���������%���������
ÏÏÏÏÏÏÏÏÏ
�
�#�� �����
,���&���������)����/*1 ����������������
������������ �� �����
A��)���/*,:�������%���������
���������'���� ����������'������������ �����������������������������������������(��>���������������������� ����'����� ;���(�����������������0��B������1������� ����'����� 4���(����D���������������������0���B������1������ !���(��������������������������������������0���B��B������1������� ����'����� 3 ���(��'������ >��B��������>��B��������������������������� ����������!������������(��>�����B���������>�����B������������������������'�������'�����������������������
(��>�����B�������������������'�������������� �����������(���������������� ;� ���>�����B������(��'��������������������;����������������2�������(��2���������� ;� ���������������������D��'�������3�������-���'������������������������������� ��0�����+W�������1��9
Button_width = (Body_width–2.0*Border)/(5.0 + 1.0)
ÏÏÏÏÏÏÏÏÏ
�
�#�� �����
,���&���������)����
/*3������������ �� �����
����������������� ����������������������������������������4����������.������0��� ;� ����������������1�(��.����������D��'�������3�.;��������-�������������������������0�����+W�������1��9
Button_width = (Body_width–2.0*Border)/(8.0 + 1.75)
(���������������� ������������������ �����7�!���6�.; �����'����������������������������������������'���
&������������������������>�3�������������8������������������� ���>�����B������������������������3" �����������>�3������������������ ���������������������������� ��������������������������������������������������(������������������������������������������� ������������������������������������������������������
����� ���������'�������0����S31�����������������������(�������4�������������������� ����������������������������������������� ;_� ���������������(�������������������������������� �����>�3����������������������������������'�������������� ��������&������������������8���8�����9
Button_height = (Bh1 – (9.–1.)*0.25*Button_width)/9.
-����������������������������������7��������������E��������������9
Button_height = (Bh1 – (6.–1.)*0.25*Button_width)/6.
��������������06�!/3�!1U!� ;������������������� �!���07�!/3�!1U!� ;�������������������3� ;�
�����������������>�����B����������� ����� ���>�����B��������>�3������������ ������������E��� �������������������������������������������������������������������� �����������������������������
ÏÏÏÏÏÏÏÏÏ
�
�#�� �����
,���&���������)����/*4 ����������������
������������ �� �����
������ �" ���*����.�(��+�
(�������������������������������������������� �������������������
/* Create expression called Style. Set its value to the function arg. *’style’. Check the return flag and exit if it is nonzero. */ sprintf(estr,”Style=%d”,style);
(������sprintf(estr, “Style=%d”, style);��������������������'����� ��� ������������� ������������Style=.(���������������������������������������������������������������������������������(��������������������M����S3N��M����S N�(������������� ��
� 5�����
� ?����
� ���B������ 0��D���������������������������1
� ��B������ 0���������������������1
� ���B��B������ 0'������������������������D����������������������������1
� >�����
��������������� ��������� �������������� ��������
strcpy(estr,“Across=if(Style==1)(5)else(8)”);flag = UF_CALL( UF_MODL_create_exp(estr) );if(flag) return (flag);
&�������������������� ��������������������������������������������������� ����������� ����� �������������������������������������0�������1�?����������������������M� �������D�����3�&��������D�����;�� ����������D�����3�&��������D�����4N�
ÏÏÏÏÏÏÏÏÏ
�
�#�� �����
,���&���������)����
/*;������������ �� �����
����!"��� �� ���. #��
�����+ �����������"� ����(� �������������������)���)�*����������
�����, ������������.����������(��������� �) ����������������������������� ���(��� �) �����
�����- ��������������������������"������ ������.�������������������)�����
�����/ �������������������������������(� ����������� �
int calc_expr(int, double, double);
�����0 ������������������������������������������7%7I�� �������"�#������2��.��)��� ������������.������������2���
)�������(���.�������������� �����5���(������.������������5���������������
ÏÏÏÏÏÏÏÏÏ
�
�#�� �����
,���&���������)����/*+< ����������������
������������ �� �����
%&&�'( G����������������������������������������������������������������(��������������������������������������������
���������������9
� )���������������������������� �������������������
� )��������������������������������'������
� %�����������������������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����
0*+������������ �� �����
,�������%� ��2
(���������������������������������� ���������������������������������� ��������������)������������������������������������������� ������/��������������(��,���&��<�������������������� ��������������������������D���� ��*����������������������
��������� ��������������� �������������������������9
� %������������'���� ��� ��������
� ��������������������������������>���-�������-������#����
� ���������8������� ����������������������������� ���������
� %�����+����'������ �����*�����
� %����������������� �����*�����������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����0*, ����������������
������������ �� �����
��$+�&���0���&�$�����0$�&�:&
>� �������������������������� ���������������������������������������� ������������������������)�������������������������������������������'�������(�������������'������������������������ ��������������������������(����������������0�������1���������������8��������������(�������������������������������������������������8���������������������������������������������������������������*���0�1�
#��������������������������������������������������������?�����������������������������������������������������(�����������������������������������'��������������(����������������������������������������� ������8���������������E����������������8�����
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����
0*-������������ �� �����
�$/�-�-�!&��$�&���!
(�����������������������������'�����*���+ ������������������������� B����B�B���������������'��������(��������������������������������� ������� �'��� ������(�� ��������������������������������� B����B�B��������������������������������������������8��������
(����������������� ������� B����B������������������������������ B����B�������9
� AD'%��D������D ���
� AD'%��D�)�D ���D���"
� AD'%��D��#D ���D��)��
� AD'%��D��#D ���D���"
� AD'%��D��#D ���D���"
� AD'%��D�� ���D ���
� AD'%��D�� ���D ���D���"
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����0*/ ����������������
������������ �� �����
������ �" ���*����.$����+�
/* Set the variable ’parent’ to the current work part */ parent = UF_ASSEM_ask_work_part();
��'��������������8�������0�������� ��������������1��������������������8�����?���������������������8�����������������������������������������������������������8��������E���������'������������������
���������������������������8����������������������� ���������%!�43!��"!�����!� !������������������ ������� ���������������������������*����
/* Obtain the top piece part tag (wpart) using ask_child_of_instance * (check the return tag validity). XXX Change the display part to the * top piece part. Check return code) */ wpart = UF_ASSEM_ask_child_of_instance(top_inst); if(NULL_TAG == wpart) return (1);
flag = UF_CALL( UF_PART_set_display_part(wpart) ); if(flag) return (2);
(��������%!�43!��!1��"!��� ���������������E���������������%!��+,!��!������.!���7���������������'����������������������8�������������������������
!�� Whether UF_PART_set_display_part sets the work part is controlled byassembly options. If you want to make sure, use UF_ASSEM_set_as-sem_options in calc_assem.
/* Create the interpart expressions for the work part. Check return * code. Use UF_MODL_update after creating the expressions. */ flag = calc_interpart_expr(); if( flag ) return(flag); flag = UF_CALL(UF_MODL_update() ); if( flag ) return(flag);
������� �������������������������� �������������������������������������������������������������������������#��������� ��� ������������'��������������������������������������������������(�������������������������������������������� �����������������D����������8������������������������8�����
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����
0*0������������ �� �����
/* Set the solid body creation color to white */ UF_CALL( UF_OBJ_set_cre_color( UF_solid_type, UF_all_subtype, UF_OBJ_solid_body_property, UF_OBJ_WHITE ));
�����������������'��������������������������������� ������������ ������� !�/0!.���#��
,�*���������������������� ������� !�/0��!.���#��
,�*���������������������� ������� !�/0#��(��������������������-B,>]B��B������� ���'����������������������������'��������-B,>]B�����B���B����������-B,>]B�����B���B��������
������������������ ��� !�/0#��������������� �����������'�� B��*B��������������������8���� ���������������������������� �������������������������(���������������'����������������������� ������������
����!&������������� ������*������������������'������'������������������� ������������������ ����������8�����
)�������������� �������������������������������8���������'�������������������� �
& �������������������������������������8����������������������������������������������������� ���������������������������������&������������������'�������� �������������������������?���������������������������� ����������� �����
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����0*1 ����������������
������������ �� �����
����!"��� �� �'���� ���.��� �
�����+ �����������"� ����(� ��������������������)���)�*�������������������������"�������������������������%���� ���� ��
��� A��'���������������!&����!��7�����!&����!/��&7����!&����!/�����������!��&�!����.������������� ������
�����, ������� ��������������������)�����������������"�
�����- �������������9)�������)(D ���D�D�����������)������"����� ������� ����AD'%��D������D ���$�)������������������( ����$���5����� �������2������ �������� ����
�����/ ������� ����(����6�� ���8����� ��������������������������""���� �������������������
�����0 �������������� �����������������������(���������2��)������
�������B���������B����0'���1T�������B�����0���B�����B�����B��� B����B�B�1T
�����1 �����������������������������������������������7%7I� ��������"�#������2��.��)��� ��
!������#������.���������$�)�����(���.������������� ���� ���"� ��
���������5�����������(� ����������U
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����
0*3������������ �� �����
0�- �-�&$��$��#�-,
(�������� � ������������������� ����������������8������������������8�������������������(���������������������������������������������������� �������������'�����(��,���&���� ������������������������������������������� ���������������������'��������������������� B�������� B����B ��������(���������������� ������-B<,$AB�������������W�� ���'����������� ��������������� ���� B���������� B��*���B�������
Pockets
Blends
Block
A��)���0*+(�������� � �������
(������������ ������ ����-B<,$AB��������������������������������� �������(������������������ �������������������0����M��B���S"�3 ;N1��*���������0����M"�3 ;N�M���N1������ �������������E�E��������������������*�����������/��������0���1������0�� ����1�
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����0*4 ����������������
������������ �� �����
��'������D���������������������� ��M�-B<,$AB��8BN������������ ����������������� ��������� ��������� �������� �������������������������8����������������������� ��������������������M�-B<,$AB����N���������(��������������������������� ������������������������� ������������������������������,���&���>����������������������� ������������ �����������������������������������,���&�� ������������������ ��M�-B<,$ABN������D����� ������ ��������
-������������������-B<,$AB��8B���B ����01������������� ������������������������������������������ ����(�������� ��������������������������'��������� �������������������9
�-B<,$AB��8B����B�����01�-B<,$AB��8B ���B����01�-B<,$AB��'�B ������01�-B<,$AB������B ������01
&�����������8������������-B<,$AB��������������'��'�������������� �����������������(����������������������� ������� ����������������?�������������� �����������'���������������������������� ��������������������������� ����(����������������� ���������-B<,$AB��8B ���B���01����������������������� ����
(��M�-B<,$AB��8BN��������������D���������������� ��������������������������������������������������������������������������-����������� �������� �������������8������� �� ������������� �������������������������������(��M�-B<,$AB��8B ���BN���������������� ��������������������������
����������������#��������
?�������'�������������������������������������� ����������������������������������� ���������������������������������� ��������������������� ��������������������� ��������-B<,$AB����'�B������������ ���������������G������������������� ������� ������������������ ����������������������8�������������'���
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����
0*;������������ �� �����
�$/�-�0���&�$��2$�&���!
(�� ��������������� ������������������� ��������������������������������'������������,���&��0���� B����B �������19
� AD'%��D������D� ��#+
� AD'%��D������D� ���
� AD'%��D������D�� +
� AD'%��D������D�� �2
� AD'%��D������D �����D����
� AD'%��D������D����D���#��
� AD'%��D������D����D� ��
� AD'%��D������D��"� �D�� �
� AD'%��D����������
� AD'%��D����5�D����
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����0*+< ����������������
������������ �� �����
�$/�-���<������$�&���!
(�� ��������������� �����������'����� ������������� ������������*��������� ������������ ������ ����0���� B����1
� AD'%��D��#D(���D����
� AD'%��D��#D����D����
� AD'%��D��#D����D(����
� AD'%��D��#D����D�����
� AD'%��D��#D����D����
� AD'%��D��#D����D(����
� AD'%��D��#D����D����
� AD'%��D��#D����D5����
� AD'%��D��#D(���D����
� AD'%��D��#D(���D�����
� AD'%��D��#D(���D����
� AD'%��D��#D(���D(����
� AD'%��D��#D� ��#D���"�
� AD'%��D��#D"���")"D����
� AD'%��D��#D��"� �D�� �D���"�
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����
0*++������������ �� �����
��3� &���+��2$�&���!
����� ���������������������������*��������������������������������� "!�����������(���������������������������'�������������������� �������������0���� B��*1
� AD%7ID���D��"�
� AD%7ID��#D��"�
� AD%7ID�� ���D��"�
� AD%7ID��� �D��D��"�
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����0*+, ����������������
������������ �� �����
������ �" ���*����.$����.���+�
edge_len_p[0] = &edge_len[0][0];edge_len_p[1] = &edge_len[1][0];edge_len_p[2] = &edge_len[2][0];
flag = UF_CALL( UF_MODL_create_block1(UF_NULLSIGN,corner, edge_len_p,&top_half) );
(�������� �����������������������8�?���������-B��AA��)���*���������� ������������������� ���������������������������*����
����� ������������������������������������������������������������������������������������������������������%!3�89!���-�!���7������ B����#
!�� Note that the edge lengths are input as strings rather than numbers. This en-ables the programmer to use expressions for the edge lengths. As you can seefrom the code preceding this line, we are taking advantage of this capability.
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����
0*+-������������ �� �����
/* Obtain the body tag from the feature tag. Assign the name * TOP_HALF to the body. Check the return code. */ flag = UF_CALL( UF_MODL_ask_feat_body(top_half,&body) ); flag = UF_CALL( UF_OBJ_set_name(body,”TOP_HALF”) );
(���������������%!3�89!�����!/���"'��������� �������(�� ��������� ��������������� � �������(�������*���������� ���������������������(������������� ������������������������������
flag = UF_CALL( UF_MODL_ask_body_edges(body,&list1) );
����� �������������������������������
?��������������� ������������������� ���������8� �������8����� �������������������������'��������� �����������?�E��������������������� �������������������������� ������������������� �'�����������������
(��,���&�����'���������������� ����������?���������������������������������'������ �����������8���������������������������D�������������������������������
��� (�������������������������������� �'��� ������ �����
flag = UF_CALL( UF_MODL_ask_list_count(list1,&ecount) );
?�E���������������������D������������������(��� ���������������������������E���������������������
flag = UF_CALL( UF_MODL_create_list(&list2) );
?����� �����������������������E��������������������������������%!3�89!�����!������������������������������������?�����E������������� ���+������������������������������������������������������������0������������%!3�89!��"!/��.!�����#1
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����0*+/ ����������������
������������ �� �����
for(i=0; i < ecount; i++) {/* Get the edge (list item) and check return code. */ flag = UF_CALL( UF_MODL_ask_list_item(list1,i,&edge) );
/* Get the edge vertices. Check return code. */ flag = UF_CALL( UF_MODL_ask_edge_verts(edge,pt1,pt2,&vcount) ); if(flag) { UF_CALL( UF_MODL_delete_list( &list1 ) ); UF_CALL( UF_MODL_delete_list( &list2 ) ); return (flag); }
/* Put item on list2. Check return code. */ if(fabs(fabs(pt1[2] – pt2[2]) – 5.0) < 0.001) { flag = UF_CALL( UF_MODL_put_list_item(list2,edge) ); if(flag) { UF_CALL( UF_MODL_delete_list( &list1 ) ); UF_CALL( UF_MODL_delete_list( &list2 ) ); return (flag); } }}
(�����������8��'�������� ���+�� ��������� �'������������������R������������ ���,�
flag = UF_CALL (UF_MODL_create_blend(“5.0”,list2,allow_smooth, allow_cliff,allow_notch,vrb_tol,&blend1) );
5������������� �'���������������������������������� ���,�����������������������������������?��������'�������������������������������������������������������������������������������
flag = UF_CALL( UF_MODL_delete_list(&list1) );if(flag) { UF_CALL( UF_MODL_delete_list( &list2 ) ); return (flag); }
flag = UF_CALL( UF_MODL_delete_list(&list2) );if(flag) return (flag);
(���������� ������������������� ������ ������������������ ���+��� ���,����������� ���+���� �������� ���,������������?��� ��� ���+�������������'�������������������������������������(������������������������������������������'�������������'��R����������� 3!�!�
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����
0*+0������������ �� �����
& ���������������������� ���+��� ���,�������������� ���+������ ������������ ����� ��������� ���,����������� ������������������R���������� /3�!�
flag = UF_CALL( UF_MODL_create_hollow(“1.0”,list2,&hollow) );
5����������� ���0�1�� ���,�&�����������������������������������'������8����� ���������������������8�����������'������� ����������������������������
/* Create the holes (pockets) *//* flag = calc_model_top_holes(body,holes);*/ if(flag != 0) return (flag);
(����������� ��������� � ��������������������������������!&����!��!�����������������������0����������������8���1 ��������������������������!�����)�����2� ����)���""�����������������.�������
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����0*+1 ����������������
������������ �� �����
(������!&����!������������ ����������������!&����!��!�����7���������������������������������������8���8���� ��������0 ����(,�'���19
A��)���0*,%���������(���� ������8���
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����
0*+3������������ �� �����
����!"��� �� ��) ��������������
�����+ �����������"� ����(� �����������������������)��)�*����������
�����, ���������(� ��������������%���� ���()��������� ���������������� ��#$�� ���������������������$��������(��"������ �2�
��� $��������������������������!&����!��!����������������
�����- �������)�����������������)���������)���""���������� �����������������
�����/ �������������� �����������������������(�����������������
�����0 �������������������������������������������������7%7I�� ��������"�#������2��.��)��� ��
���%!���5�����������(� ����������U
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����0*+4 ����������������
������������ �� �����
������ �" ���*����.$����.���.���� +�
/* Get the body faces. Obtain the count of faces (count) */ flag = UF_CALL( UF_MODL_ask_body_faces(body,&list1) ); if(flag) return (flag);
flag = UF_CALL( UF_MODL_ask_list_count(list1,&count) ); if(flag) { UF_CALL( UF_MODL_delete_list( &list1 ) ); return (flag); }
/* Loop through the faces and check the face_data for a planar face * (UF_bounded_plane_subtype) with a normal in the +Z */ for(i=0; i < count; i++) { tag_t face;
int ftype, /* face type */ dsense; /* face direction sense */
double pt1[3], /* coordinates of vertex */ nrm[3], /* Face normal direction */ box[6], /* face boundary */ rad1, /* face major radius */ rad2; /* face minor radius */
/* Extract a face from the list. Check the return code. */ flag = UF_CALL( UF_MODL_ask_list_item(list1,i,&face) ); if(flag) { UF_CALL( UF_MODL_delete_list( &list1 ) ); return (flag); }
/* Obtain the face data. Check return code. */ flag = UF_CALL( UF_MODL_ask_face_data(face,&ftype,pt1,nrm,box, &rad1,&rad2,&dsense) ); if(flag) { UF_CALL( UF_MODL_delete_list( &list1 ) ); return (flag); } if(ftype == UF_bounded_plane_subtype) { if(fabs(nrm[2] – 1.0) < 0.001) { face1 = face; break; } } }
(�����'����� ������� ������������������8�� ��������������������&����� ��������������(����������������������� ����� �����������������������0if(ftype == UF_bounded_plane_subtype)1�������������� RS3�!�
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����
0*+;������������ �� �����
/* Evaluate the expressions for Body_width, Body_height, pc_height, * lcd_height, lcd_pc_height, Button_width, and Button_height. Check * return codes */ flag = UF_CALL( UF_MODL_eval_exp(”Body_width”, &body_width ) );
.
.
.
���������������������8�� �������������������������������������������������������%!3�89!�-��!�����8���������� ����������������������������������'�����?��������'������ ��5��� ���������������
/* Create the 1st button pocket. Use a corner and floor radius of * ”0.0” and a taper angle of 1.5. Check the return code. */
strcpy(poclen[0],”Button_width+0.5”); strcpy(poclen[1],”Button_height+0.5”);
location[0] = 5.0 + 0.5*(button_width); location[1] = 5.0 + 0.5*(button_height);
&���8�����������������������������5��������������������0������������ �������'������������������1����������� ������������������ �'������������ ������������� ������8�������������������?�����������8�������������������������������� �������������
flag = UF_CALL( UF_MODL_create_rect_pocket(location,axis,x_dir, poclen_p, “0.0”,“0.0”,“1.5”,face1,&feat1) );
5������������� ����� ��������8�������������������8�������������(�� �������������������������� ������� ������8���(����������������������������������� ����(��=�G����R��������������������������(��R������������� ������������8�������������������������������� ����
(��������� ��������������������������������������������������������������3�;��������(���������������������������������������������*�������������������������������� ��������������*����� �����������
-��������8�� �������������������������������8���������������������������� ���������������8 ����������'�������������������������������������������8���������� ��������
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����0*,< ����������������
������������ �� �����
flag = UF_CALL( UF_MODL_create_linear_iset(0,“Across”,bspacex, “Up”,bspacey,list1,&feat1) );
%�����������������������0����������� ������������������1� �����������������������������������(������������� �������������������������� �������������������.��������������� ������������'���������� ����������������������������������������������(�� �������������� ����������������������������� ���+�
(������!&����!��!����������������������������B��� ���������������������� ������9
A��)���0*-%�������������������8���
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����
0*,+������������ �� �����
����!"�����/�� ������) ��������������
�����+ �����������"� ����(� ���������������� ������������)��)�*����������
�����, ���������(� ��������������%���� ����� ������������������#����6�� ��8�
�����- �������)��������������������)���������)���""��������� ������������������ �����
�����/ �������������� �����������������������(���������������� �����
�����0 ���������������������������������������� ��������������7%7I�� ��������"�#������2��.��)��� ��
���%!���5�����������(� ����������U
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����0*,, ����������������
������������ �� �����
0�- �-�&$��'$&&$+�#�-,
(����������� � �������������������������������'�����8������������������������������������������ ������8���0����������������������1������������������������ ����������
A��)���0*/%������������������
������ �" ���*����.$����.�����$+�
(��������������������������������������������� ������������� ��������������������������B�����B�����������������������������������B�����B������ ����'���D���������
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����
0*,-������������ �� �����
0�- �-�&$��'�&&$�
(�������������������������8������������������������(����������������������������������������������������� ������� ��������� �����M ��N����������
A��)���0*0>��������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����0*,/ ����������������
������������ �� �����
������ �" ���*����.$����.�"����+�
(��� ������������������������������'���������������������������8��������� �������������������������� ����������������� ������������� ����0 ���3��� ��� 1������������������(����������� ���0 ���"1��������������������������'�����������������
face1
face2
face3
A��)���0*1-�������������� ��������������
axis[0] = 0.0;axis[1] = 0.0;axis[2] = 1.0;
x_dir[0] = 1.0;x_dir[1] = 0.0;x_dir[2] = 0.0;
����������������������������������������������������������������������� ����(���������������������� ������'����������=����������
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����
0*,0������������ �� �����
����!"��� �� ��������/��*������������0 �� ��!
�����+ �����������"� ����(� �������������!����������)��)�*����������
�����, ���������(� ��������������%���� ���()��������� �������������������������"�����
�����- �����������"� �����(� �������������!������(��"������ )���������������
�����/ ���""���������� ����������)�������)����������"��)���������������������
�����0 �������������� ������������������������(��������)�������������"���)������
�����1 �������������������������������������!�����6��������������!�����$��(����������8��������7%7I�� �������"�#������2��.��)��� ��
���%!���5�����������(� ����������U
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����0*,1 ����������������
������������ �� �����
������ �" ���*����.��$�.����+�
linear_mc.array_subtype = UF_ASSEM_linear_array; linear_mc.master_component = NULL_TAG; linear_mc.template_component = button_inst; strcpy( inst_array_name, ”BUTTON_ARRAY”); linear_mc.array_name = inst_array_name;
?��������������������������� ����������������������������M>�((,�B&��&GN�(��master_component������� ��������������������� ���������� ��������������
/* Set the linear_mc.dimensions[0..1] values to the tags of the * Across and Up expressions. */ flag = UF_CALL(UF_MODL_create_exp_tag( ”Across”, &(linear_mc.dimensions[0]) )); if(flag) return (flag); flag = UF_CALL(UF_MODL_create_exp_tag( ”Up”, &(linear_mc.dimensions[1]) )); if(flag) return (flag);
(������������� ����������������������������������������������������������������������������������5������������������ ������������
/* Create the master component array. Check return codes. */ flag = UF_CALL(UF_ASSEM_create_mc_array( &linear_mc, &array ) ); if(flag) return (flag);
(����������������� ������������������������������������������������������������������ �����������&�����������������������������������������������������������������������������������D��������������������������� ������������������� ����������������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����
0*,3������������ �� �����
����!"��� �� �'���� ���.���.����!
�����+ �����������"� ����(� ����������������"��������)��)�*���������������������������"������������������������%���� ����� ��
�����, ���""���������� ������������������"������)������������������"�
�����- �������������� �����������������������(���������2��)�����
�������B����B����0���B�1T
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����0*,4 ����������������
������������ �� �����
�����/ ����������������������������������������"����������7%7I�� ��������"�#������2��.��)��� ���������� ���"� ���5��������!�� �6 !8����5��2���������"� ���������)��)�������������
���������5�����������(� ����������U
&��������������'��(-�/��,'���� ����������������������������������������� ���������
A��)���0*3%��������%��������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����
0*,;������������ �� �����
%&&�'( G������������������������������������ ��������������������
���������������9
� #������������������ ��������������������������������������������
� %����������������������������'���
� &������ ��� �������������������
� %���������������� ��������
� %����������� �������������������� ���������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
;
&�� ���
,���&���������)����0*-< ����������������
������������ �� �����
6!������������������� ����(��7 ��#8
ÏÏÏÏÏÏÏÏÏÏÏÏ
=
,� ������
,���&���������)����
1*+������������ �� �����
��$�� ������%� ��3
$�� ������������������������������������������������'����� ������'������������������������(������������������$�����������$�� ����&��������������������������,���&�������������������������$�� ������������������ ��������(������������� �������� �����������������������������������������������'������� ������,���&���� ������������������������$�� ������������
��������� ��������������� �������������������������9
� ���������������� ������� ��������
� %��������������������������������������'����
� %�������������������
� %���������?%������������������������������
� %������������'�������'�'��������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
=
,� ������
,���&���������)����1*, ����������������
������������ �� �����
��+��!�$����/����,&�����$�&���!
(�� ������������������� ��� ���������� ������� B�� ��9
� AD��AD��#D���(�������
� AD��AD���D���(�������
� AD��AD������D����@���� D��"
� AD��AD����D��J���D���)��)��
� AD��AD������D5������ D��"
� AD��AD������D����
� AD��AD������D ���
� ADF���D��#D���D�(D5��2D��"�
� ADF���D�.����D5��2
� ADF���D��D�.������
� ADF���D)��.����D2��#D5��2
ÏÏÏÏÏÏÏÏÏÏÏÏ
=
,� ������
,���&���������)����
1*-������������ �� �����
�- 8/�+��!�$�6
(������������������������������ ���������� �������*���� ����������������������������������������������������� ������� �������������������
<���� ������������������������������������ � ��������������(��������������� ������������������������������������������
$������������������������� ���������������� ���� ��������������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
=
,� ������
,���&���������)����1*/ ����������������
������������ �� �����
������ �" ���*����.��$�� ���.���+�
/* Read the current settings for drafting/dimensioning */ flag = UF_CALL( UF_DRF_ask_preferences(mpi,mpr,radsym,diasym) );
�%!8+%!��"!��� ���������������� ��������������������� ������������������ �����������������������������'���������"������������������������������3!!�"�������������������������������������.!���������"��������"��������� ����������������������������������������������������������
/* Set the linear units to mm and change the character size and number * of decimal places. * Call the routine that reset draft/dim settings. */ mpi[3] = 2; /* decimal places */ mpi[13] = 1; /* linear units */ mpr[32] = 5.0; /* character height */ flag = UF_CALL( UF_DRF_set_preferences(mpi,mpr,radsym,diasym) );
�%!8+%!��!��� ���������������� �������������������������8���������������(������� ��������������������������������������������������������������������������� �'������������ ��������������������� ������������������������������������
/* Initialize structures. This sets the associativity modifiers * to UF_DRF_end_point (which is what we want. Check return codes! * Also initialize the text structure. */ flag = UF_CALL( UF_DRF_init_object_structure( &dim0 ) ); if( flag ) return( 1 ); flag = UF_CALL( UF_DRF_init_object_structure( &dim1 ) ); if( flag ) return( 1 ); dim_text.lines_app_text = 0; dim_text.user_dim_text = NULL; dim_text.appended_text = NULL;
(���������������� �������*����� �������� �����������������������������&�,���&�� ����������������� �������*�������������(��������������������������������������
/* Get the edges for the dimensions. They are returned in a particular * order documented in the comments at the routine start. */ flag = calc_dimension_top_edges(edge,epcode); if(flag) return (flag);
����!��&������!��!������������������ ������*������������� �������������0������ ��������������������1�������� ��������������������������(��������������������������������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
=
,� ������
,���&���������)����
1*0������������ �� �����
/* Obtain the tag of the work view. It is used in the structures. */ flag = UF_CALL( UF_VIEW_ask_tag_of_view_name( ””, &view_tag ) ); if(flag) return (flag); dim0.object_view_tag = dim1.object_view_tag = view_tag;
(����������������������D������������ ���'������������������*����(����������������������������������������(������ �����*��������������������������������������?��������������������������������� ���������'������������������������������ ����������������������������?����������������������������������'����(������ ������8'�����������������������������������������������������������
/* First dim. is from left edge to right. Set the location. */ origin[0] = 0.5 * width; origin[1] = height + 6.0*mpr[32]; origin[2] = 5.0;
(����������� ������������������������ ������������������������������������������"��R-,S�����������������������(���������������������������������������������������� ��������������� �������0=1��������������������������������'��������0G1��������������� ���� ��������� � �������������0R1�
/* Set the structure data for both object tags and assoc. modifiers. * Create the dimension. */ dim0.object_assoc_modifier = epcode[0]; dim0.object_tag = edge[0]; dim1.object_assoc_modifier = epcode[1]; dim1.object_tag = edge[1]; flag = UF_CALL( UF_DRF_create_horizontal_dim( &dim0, &dim1, &dim_text, origin, &dimension ) );
(������� �������������� ����� ��������������(����������������������*�����������(������ ����������������������������� �����������������������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
=
,� ������
,���&���������)����1*1 ����������������
������������ �� �����
������ �" ���*����.��$�� ���.���.���� +�
����!��&������!��!����� ������������������������������������������������D������������� ���������������������� �������������(����������� ������������'�����
/* Evaluate expressions for calculator */ flag = UF_CALL( UF_MODL_eval_exp(“Body_height”,&height) ); if(flag) return(flag);
(���������������������������� ��������������������� ������������������(������������������������ ������'�����������������������
/* Locate the target body using it’s name; TOP_HALF */ body = NULL_TAG; flag = UF_CALL( UF_OBJ_cycle_by_name(”TOP_HALF”,&body) );
�%!�:;!�.���!/.!��&���������������'�� ������� ������*��������������� ��������(�� ����������������������������������8����������������������M(,�B5&A-N����������
!�� It’s a good idea to name the solids you create. This is easy to do when a pro-gram is doing the work of applying the system $NAME attribute. You neverknow when the names will come in handy. They may be used for finding solidsor later in creating reports.
/* Obtain the edges and count of edges in the body. */ flag = UF_CALL( UF_MODL_ask_body_edges(body,&elist) ); if(flag ) return(flag);
flag = UF_CALL( UF_MODL_ask_list_count(elist,&ecount) ); if(flag) return(flag);
/* Loop through the edges and find the vertices. Check for specific * edges and store those particular edges and the appropriate end * point code. UF_DRF_first_end_point if the first vertex is the * desired endpoint; UF_DRF_last_end_point for the second vertex. */ for(i = 0; i < ecount; i++) { flag = UF_CALL( UF_MODL_ask_list_item(elist,i,&edge_tag) ); if(flag) return(flag);
flag = UF_CALL( UF_MODL_ask_edge_verts(edge_tag,pt1,pt2,&vcount)); if(flag) return(flag);
ÏÏÏÏÏÏÏÏÏÏÏÏ
=
,� ������
,���&���������)����
1*3������������ �� �����
/* Check for vertical edges. */ if((fabs(pt1[0] – pt2[0]) < 0.001)) {
/* Look for left vertical edge at the back */ if((fabs(pt1[0]) < 0.001) && (fabs(pt1[2] – 5.0) < 0.001)) { edge[0] = edge_tag; if(pt1[1] > pt2[1]) epcode[0] = UF_DRF_first_end_point; else epcode[0] = UF_DRF_last_end_point; continue; }
&����� �������������������������������������������8��� �����������������������D���� ���������?����������� ����������������������������������������������������������(������������+����������������� ��������������������������������������������������
&�����'������������������������������ ����� ���������������������������&���������������8������ ������������������� ���D��'����������������8����������������������������8�����������'����� ������� ���������������������������
&�,���&���������������������������������'����������������������������������'���������������������5������������������������ �����������������������������������������������
/* The edges procured are the prototype (objects in the child). Find * the occurrence tags of these objects so the dimensions will be made * to objects in the assembly. */ for(i=0; i < 14; i++) { UF_ASSEM_ask_occs_of_entity(edge[i],&occs); edge[i] = occs[0]; UF_free(occs); }
?������������������������������������������������������������������.����������(�����������������������0������������1�����*���������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
=
,� ������
,���&���������)����1*4 ����������������
������������ �� �����
?��������������%!�:;!�.���!/.!��&��������
flag = UF_CALL( UF_OBJ_cycle_by_name(”TOP_HALF”,&body) );
������������ ��������� �������8��������������������������������������� ���� �����*�������������� �������������������
?����������������� �������������������������� ���������
flag = UF_CALL( UF_MODL_ask_body_edges(body,&elist) );
���������������������������� ����� ������������� ���������
(������������������ �����*����������
UF_ASSEM_ask_occs_of_entity(edge[i],&occs);
��������������������������������������*����������������������������������������������������������������������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
=
,� ������
,���&���������)����
1*;������������ �� �����
�- 8/�+��!�$�8�$&&$+6
(������������������� �������������� � ��������������(������!��&������!/��& ������������������������������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
=
,� ������
,���&���������)����1*+< ����������������
������������ �� �����
����!"��� �� �����,� �����
�����+ ���������(� �����������������#������������������#���������������!���#�������������������������� �������)���)�*����������
�����, �����������������%���� ���()��������� ����������������������
�����- ������������������������������ �
�����/ ����������������������)���������� ���������������������)�����
�����0 ��������������������������������������$�������������������$��������������������� ����$�������������������!��������������7%7I�� ��������"�#�����2��.��)��� ����=�)����) ��������"���������������� �) ������������!%��5��2���
��"�"���$����%!���5����)�������(� ��U
ÏÏÏÏÏÏÏÏÏÏÏÏ
=
,� ������
,���&���������)����
1*++������������ �� �����
(�����'��������'��������������������������������(,�'���� ��������������������8������������ ���������
A��)���1*+%���������(������������
(������������ ���������������� ��'�������������������������������������� ������
ÏÏÏÏÏÏÏÏÏÏÏÏ
=
,� ������
,���&���������)����1*+, ����������������
������������ �� �����
)0�� $�&�$-��$�&���!
(�� ����������������������������� ���?%����������������� B������
� AD��=�D������D"����.
� AD��=�D������D����
� AD��=�D������D��"�D����
� AD��=�D���D2��
� AD��=�D��#D2��
� AD��=�D"��D�����
ÏÏÏÏÏÏÏÏÏÏÏÏ
=
,� ������
,���&���������)����
1*+-������������ �� �����
>��%41��$�&� $�&�$-��$�&���!
(�� ��������������������������'����������������������������� B���������� B'������
� )�1/1/ ��� ����F��2��������)�
� )�1//; ����������#�F��2
� )�1/11 ������)����������)���"���������#�F��2��"�
� )�1/14 ������5������)�
� )�1/-< �����F��2��������������� �
� )�1/-+ ����F��2��������������� �
� )�1/-, A�������F��26�8
� ADF���D(��D5��2
� )�1/-- �����F��2�'����.
� )�1/-/ ����F��2�'����.
� )�1//, �����F��2����2��������"�����
� )�1//- ����F��2����2��������"�����
� ADF���D��#D2��#D5��2
� ADF���D��5�D� D����5�D5��2�
� )�1/0< ��5��F��2
� )�1/0/ �� ����F��2
� ADF���D�� ���
� ADF���D��� �D��J����
ÏÏÏÏÏÏÏÏÏÏÏÏ
=
,� ������
,���&���������)����1*+/ ����������������
������������ �� �����
������ �" ���*����.��$�� ���.�"����+�
(�����������!��!1��!�!-��1����������?%��������0��8�����?%����������� ����������*���1�(�������*������������������������������������������)5(���-�,�('���������������������������� �����������
/* Set the work view (and WCS) to create a dimension in the FRONT * view. Save the original WCS. */ UF_CALL( UF_CSYS_ask_wcs(&csys1) ); uc6464(””,””,”FRONT”); flag = ug_set_wcs_to_view(”FRONT”); if(flag) return(flag);
(�������� �������� ��������������'���������?��8%��������������0?%�1 ���������������������������������������(��������������������������=%/G%����������8������ ���?%��(��?%��������������������'����������������������'������������������������������������������������'����
�%!<=!��"!1���������������������������?%��(�������'�������?%����������������������������������������(��������������?%����������� ������������������������������������������������������� �������
��(>(>���������'������������(������������� ����� ����������������������������������������������8'������������������(������������������������� ���'���������������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
=
,� ������
,���&���������)����
1*+0������������ �� �����
��8!�&8% !8&$8.��%6
��!��!1��!�!-��1�������?%������'��������������������������������(�������������������?%��������������������������0���1������� ������'����������
�- 8/�+��!�$�8��&&$�8�/��!6
(������������������������������� ����������������������������'�����(�������������,���&�� ������������������'������������������������������ ������������������������������������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
=
,� ������
,���&���������)����1*+1 ����������������
������������ �� �����
����!"��� �� ��������,� �����
�����+ �����������)���������������������!��#���������������!����� ��#����� ����������$��������)���)�*����������
�����, �������������������%���� ���()��������� �������������������!������� ����������$����
�����- ���""���������� �������������������!��������������������������)�����
�����/ ��������������� ��������������������(���������������2��)������
�����0 �������������������������������������!����$ ����������$�������������������������!����� ������������7%7I�� ��������"�#������2��.��)��� ��
�����1 �)������������"�
�����3 �������5��2��6����������(�)��5��2� ���)�8�������������"���������������A�%!���������!�5��2��
��� � ������������'����������������������'��������/D��A�(������������ �����������������������������������������������������������'�����(�������������������������������������������� ����'����9(,�B$�-������!��&������!���-�,�(B$�-�����)5(B$�-������!��&������!/����A����A2B$�-���������������!��&������!/�������727!������A3�������������'�����7274�
��"�"���$����%!���5����)�������(� ��U
ÏÏÏÏÏÏÏÏÏÏÏÏ
=
,� ������
,���&���������)����
1*+3������������ �� �����
%&&�'( G��������������������������������������� ����������'�����G���������������?%�������������� ������������'������
���������������9
� %��������� ������� ����� ������*������������
� %�������������������'������������������
� ��������'�������������
� %�������������������������������
� %���������?%�������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
=
,� ������
,���&���������)����1*+4 ����������������
������������ �� �����
6!������������������� ����(��7 ��#8
ÏÏÏÏÏÏÏÏÏÏÏÏ
?
,��-���
,���&���������)����
3*+������������ �� �����
���4��� %� ��5
(�������������������������������������������������� �������� ���������(���������� ������'��������������������������������������'���������������������������������������������'�����
��������� ��������������� �������������������������9
� %�����������������������������������������
� �����������'�����������������
� ������'�0������1����������������������
� %������������'����� �����������
� ������'�����������������
� %���'��������*���������������������
��+����>��%���/����%������+��0$�.��&�$�!
& ����������������������������������������������������(������������ �������������*����������������������'����������������������������'�������������������������&��������������������������������
�����,���&����������������'��������������M`N�����������������������������������'��������� ������'���������������������������������������������'������������������������ �����������M`N����������,��������������������� �������������������������D������� ������'���������$������������'��������������������� ���'��'���������������������������������
&��������� ��������������'�����������������'�� �����������'����(,���������M(,�`"N�(������ �������� ��������'����M(,�N����������'���(������ �������� ����������������'����������M(,�`N��M(,�`"N�������'���(�� ��������� ������������'���� �����'��������������������'�������� 7266�
ÏÏÏÏÏÏÏÏÏÏÏÏ
?
,��-���
,���&���������)����3*, ����������������
������������ �� �����
&���������������������'�����������������������8'��������������������������������M`!N�������������
-�������������������������'������D���������������� �����������������������������$�� ������������������������������'�,���&�����������
��� ����������������������������'�����������8'�������������������������������������������Z$�&?��)�(���������������������������������������������������������
��� ������������������� �������������D�����S���������������'���������������������������������������D�����0MN1�
ÏÏÏÏÏÏÏÏÏÏÏÏ
?
,��-���
,���&���������)����
3*-������������ �� �����
���%�����$�&���!
(�� ��������������������������������������8�����$����������<�����:�����
� )�1/31 �������2���������
� )�1/33 ������5�����2���������
� )�1/34 ����������2���
� )�1/3; ��������2������@�
� )�1/4< �������2������@�
� AD�� �D��#D���2���D��(�
� AD�� �D���D���2���D��(�
� AD�� �D�"����D5��2
� )�1/4+ ���F��2�������2���
� )�1/4, ��"�5��F��2�(��"����2���
� )�1/4- �����F��2���(�������������������2���
� )�1/4/ ����F��2���(�������������������2���
� )�1/40 �����F��2�7�����������)���������2���
� )�1/41 ����F��2�7�����������)���������2���
� AD�� �D��(���D5��2D"��)� D����
� AD�� �D)�����D���D5��2
� )�1/;, ������)���������2�����"�
� AD�� �D��#D�)�����D���2���
� )�1/;1 ����"�����2���
� )�1/;0 �� �������2���
� )�1/;; ��� ��F��2��������2���
ÏÏÏÏÏÏÏÏÏÏÏÏ
?
,��-���
,���&���������)����3*/ ����������������
������������ �� �����
�+�$�&�������&!
AD� �!D�"����
$�������������������������������� ������������������� ������������������������� �������������������������(��������������������������������� ������� �����������������0�����������������������������������������1�������������������������� �������������� �������� ����������'�����������������������������$�������������������������������������������������8'���������'�������������0���������B��������������1����������������'�����
(���������������������������'�������������� ������ ������������������%����������������E�������������������� ������������������������������������������(����������������,���&�� �������������������������������
������ �" ���*����.���4���+�
/* Set up identity matrix for part import. */ amat[0] = 1.0; amat[1] = 0.0; amat[2] = 0.0; amat[3] = 0.0; amat[4] = 1.0; amat[5] = 0.0; aorg[0] = 0.0; aorg[1] = 0.0; aorg[2] = 0.0;
(�����������������������������������������*���0�1��������������(������������������������0����������1������������ !�!�!0�������������1�
/* Get the name of the current layout. */ uc6466(curlay,curview);
��(>((������������ ����������������������������8'�������������������������������E������������������������
/* Create a drawing using the input argument name. Check return * code. Restore the old layout and return if an error occurs. */ flag = uc6478(dname,two,dsize,htwd); if(flag != 0) { uc6468(curlay,one,rdum); return (flag); }
��(>?@������������������������������������������������&��������������������M�2�N�������������������������������>�������������������������� ����������������0& 1���� �������������0��2�1����������
ÏÏÏÏÏÏÏÏÏÏÏÏ
?
,��-���
,���&���������)����
3*0������������ �� �����
/* Initialize the structure for part import. */ pmod.layer_mode = IP_WORK; pmod.group_mode = IP_NOGROUP; pmod.plist_mode = IP_NONE; pmod.view_mode = IP_NO_VIEW; pmod.cam_mode = FALSE;
(��������������������������������������(��������������������������9
� ��������������������8����
� $���������������*���0�1��������
� $����������������������
� $����������'����
(�������� ��'���������������������������������������������� ��������������������B:�#?�������� ���������� �������������������������������(����B�,B:�#?����������������'���������������������������� �������������8'��������������
/* Retrieve (import) title block part. Check the return code. * Restore the old layout and return if an error occurs. */ strcpy(pfile,”./dwg–a2border.prt”); flag = UF_CALL( UF_PART_import( pfile, &pmod, amat, aorg, ascale, &grp ) ); if( flag != 0 ) { uc6468(curlay,one,rdum); return (flag); }
(������ �����������������"�����D����� �����������'���������� ��� ���������������������������)������������� ��������� ����������������'������������������(�����������������������9�������������
/* Place the views onto the drawing. */ flag = calc_drawing_views(dname,dsize); return (flag);}
(��'������������������������������������������������������������(������!���1���!-��1��������������������(,��-�,�(���)5(���(-�/��,'����������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
?
,��-���
,���&���������)����3*1 ����������������
������������ �� �����
/* Obtain the drawing tag. Could also use UF_DRAW_ask_current_drawing */ curview[0] = ’\0’; drawing_tag = NULL_TAG; UF_OBJ_cycle_by_name( dname, &drawing_tag );
/* Cycle through the views and update each view. */ while( TRUE ) { tag_t view_tag;
/* Get the member view from the current drawing. */ uc6499( ””, curview ); if( ’\0’ == curview[0] ) break;/* Get the tag of that view and update the view on the drawing */ UF_CALL(UF_VIEW_ask_tag_of_view_name( curview, &view_tag ) ); UF_CALL(UF_DRAW_update_one_view( drawing_tag, view_tag) ); };
(��'���������������/��/�����������������?�������������������������'����������������'�����(��'����������������������D������(���%!�:;!�.���!/.!��&���������������������� �����������(���%!A�42!��"!��!� !-��1!��&��������������������'��������:������������������������������������
������ �" ���*����.���4���.���4 +�
/* Evaluate the expressions for calculator height and width. Check * return codes. */ flag = UF_CALL( UF_MODL_eval_exp(“Body_height”,&height) ); if(flag) return(flag);
?�������������������������������������������������'�����������������������'�����������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
?
,��-���
,���&���������)����
3*3������������ �� �����
/* Calculate spacing between views */ hspace = (htwd[dsize–1][1] – width – height)/3.0; vspace = (htwd[dsize–1][0] – height – 12.0)/3.0;
(���������������������������������������������������'�������D���������������������'�����������������������������������������������0G1����� �����������������������������0=1��������������������(����������������������[������ ��������������������������������������������0�������������������������������-�,�('���1������������������������0���������������������������)5('���1�(��'�����������������[������ ���������������������������������������0'������������(,�'���1�����3 �!0'������������-�,�('���1�
(��M+,�<N����������� ��������������(��������������������� ���������������������������������������������������������������
/* Set the View center and view’s drawing ref. for the FRONT view. */ center[0] = 0.5*width; center[1] = 0.5*height; center[2] = 6.0; flag = uc6431( ”FRONT”, center, 1.0 ); if( flag ) return( flag ); flag = uc6443(”FRONT”, center, 0.0 ); if( flag ) return( flag );
(���������������������������������������������������������������'�'������������� �����'������������������������������������'������������������������������� �����������(��'���E��� ����������� �������������������������������������
/* Import (add) the FRONT view to the drawing. Set refpt (the drawing * reference point) to position view on drawing. Check return code. */ refpt[0] = hspace + width/2.0; refpt[1] = vspace + 6.0; flag = uc6481(dname,“FRONT”,refpt,1); if( flag ) return( flag );
5������������� ����'�������-�,�('������������������������(���� ���������������������������'���E���������� ������������������������������������������������������������������0�� ��1���������'���������������0����� ������'�����������������������������������������������+������'���1�
ÏÏÏÏÏÏÏÏÏÏÏÏ
?
,��-���
,���&���������)����3*4 ����������������
������������ �� �����
����!"��� �� ���,��-��
�����+ �����������"� ����(� �������������� �$���������������������� ��������)���)�*�����������
�����, �����������)������������������������������%���� ��()��������� ��
�����- ������� ��������������� �����������������������"���=�)")���������������2������"�����������������5����� ��
�����/ �����������������(�������������� ��������������� �$��������������������� �(� ��
�����0 ��������������������������������� �$��������������������� �����������7%7I�� ��������"�#������2�.��)��� ����!������2�������) ������������(� �2�W
A��)���3*+%���������$������U�������������1
ÏÏÏÏÏÏÏÏÏÏÏÏ
?
,��-���
,���&���������)����
3*;������������ �� �����
%&&�'( G���������������������������'����������������������������G�����������������������������
���������������9
� %�������������& �������������
� ����������������'����������� ������������
� %��������������������'��������������������/� /����'�����
� �����������������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
?
,��-���
,���&���������)����3*+< ����������������
������������ �� �����
6!������������������� ����(��7 ��#8
ÏÏÏÏÏÏÏÏÏÏÏÏ
@
�#� ������� �����
,���&���������)����
4*+������������ �� �����
�(������#�����!%� ��6
#�������,���&����������������������������������������������������������������������������(�������������� ��������������������������������������������������*������������������������� ������������������'����� �����������������������
��������� ��������������� �������������������������9
� %���������������,���&���������������������
� )�����������������������������*�����
� -��������������������� ���������
� ������ ����� ���%-�0%�����-�������� ���1 ���������
ÏÏÏÏÏÏÏÏÏÏÏÏ
@
�#� ������� �����
,���&���������)����4*, ����������������
������������ �� �����
�:&����-������������$���+!
&���������,���&�������������������������������������������������������������������� �������������(���������������������������������������������� +���� ����������<��� �������
� (����������� ���������� ����������������������
� &���8 ���0M/�N������ �����M��8�/���N����������8� ���1�������������������� �����������������������8��������������������
� #������������������������main(argc, argv)����������ufusr(param, flag, plen)�
� &������������������������exit()����������return()�
����� ������� ����������������������9
� %���8�������������� ��� ���������������������������������������������������������
� -�������������������������������'��� ���� �����'�����������������������������
� �����������������������������������
,�����������������������������������������������������������������������������������������������������������������������������������������������������������'�������������������������������'����������������������������,���&���������������������,����������������������A� �X��5�� ������.��� ������������������������,���&�������������������(���������������� �������'���������������'������ ����������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
@
�#� ������� �����
,���&���������)����
4*-������������ �� �����
�&&����&��2$�&���!
(�� ����������������������������������-B&((�%���������(�� ���������������� ������� B�������-������������������ ���������������������������,.���#
� �-B&((�B����B����B�
� �-B&((�B'����B�
� �-B&((�B'����B�
(�� ���������������� ������������������ �������������������9
� AD !!�D��#D����D������)��
� AD !!�D������
� AD !!�D��#D����D�����
� AD !!�D��#D����D�����D��D(� �
� AD !!�D����D5� )�
� AD !!�D��� �
� AD !!�D�� ���
� AD !!�D�� ���D�
�//�����&&����&�!�&$�&���0�- �-�&$�����&!
&�������������������������������*��������������������������������,���&����������������������������������������������&�������� ������������������������������������������� ����������������������(��������������������������������������(�� �������������������������������������������
char svalue[50]
UF_ATTR_value_t att_value; /* attribute data structure */
$�������'��������������������� ����������������������
&��������������������������������������������������%!�,,+!��"!���!���/������������������� ��������������������������%!�,,+!�������������������������������������&�(��<>#����$#�%���(��
ÏÏÏÏÏÏÏÏÏÏÏÏ
@
�#� ������� �����
,���&���������)����4*/ ����������������
������������ �� �����
UF_CALL( UF_ATTR_ask_part_attribute( &atteid ) ); att_value.type = UF_ATTR_string; strcpy(svalue,”001”); /* First call is the part number. */ att_value.value.string = svalue; UF_CALL( UF_ATTR_assign( atteid, ”PARTNUMBER”, att_value ) );
strcpy(svalue,”TOP”); /* Second call for description. */ UF_CALL( UF_ATTR_assign( atteid, ”DESCRIPTN”, att_value ) );
&������������������������������att_value.value.string����������'����������������������������������������?������������������������/'�����������������������������������������att_value.value.string�����������������svalue�������������������(�����������������3" ����������0�����������������AA���������1�
(������������� att_value.value.string��svalue���������������������,���������������������������������������������8������������������������������������������
att_value������������������������������������������������������������������ UF_ATTR_value_t�������UF_ATTR_value_p_t.
>���������������������������������������8�����������������������������������UF_ATTR_ask_part_attribute(&atteid)����������� ����������������������
!�� Only strings can be assigned to the part attribute. Integer and other types ofattributes can be assigned to geometric objects.
(���������������������������������������������������������������������������������'��������������������������'���������������������������������������������
�- :6
(����������,���&���������������������������������������������������������������������������������������������,���&������������������������������ ����������������������������������������(�����8����� ����������,���&����������������D��������� ���E�E ������������������������� ����� a�a �����������
ÏÏÏÏÏÏÏÏÏÏÏÏ
@
�#� ������� �����
,���&���������)����
4*0������������ �� �����
������ �" ���*����(+�
/* Check for correct number of input arguments */ if(argc != 3) { strcpy(msg,”This program takes two arguments: ”); strcat(msg,”the root part file name and the name\n” ); strcat(msg,”of the output text file.”); printf(”%s\n”,msg); exit(1); }
(��������������������������������'K!L����������������0������ �����%��������1���� ���������������'K3L��������� ��������������'K L��������������� ����(������������������������� ���������������������������
/* Check out a Open API license */
flag = UF_CALL( UF_initialize() );
if(flag) exit(2);
#�������,���&������������������������������������ ��,���&�� ���������������������
/* Open the part. It should be argv[1]. Store its tag as top_part. */ strcpy(fspec, argv[1] );
flag = UF_CALL( UF_PART_open(fspec,&top_part,&estat) );
if(flag) exit(3);
,�������������� ����������������������������������������� ������������������%������������������������������'�������0 ����1����������������� ������������ �������� ��������������
/* Call the routine to set the view to a model view (if a drawing is * displayed). It has no effect if a model view is active. */ UF_DRAW_set_display_state(1);
&������ ����������������������������������������8�����(��������������������������������� �&��������������'���������������������������������8���������������� ����������������������-B$�&?B���B������B�������������������������'�����a����'�E�
/* Open the text file (use fid for file identifier). */ fid = uc4504(argv[2],3,0); if(fid < 0) { UF_get_fail_message(flag,msg); printf(”%s\n”,msg); exit(4); }/* Write a header ”Report for calculator” to the file id. */ uc4524(fid,”Report for Calculator”); uc4524(fid,”–––––––––––––––––––––”);
ÏÏÏÏÏÏÏÏÏÏÏÏ
@
�#� ������� �����
,���&���������)����4*1 ����������������
������������ �� �����
%���������� ��� �������������5R,S�������������������������������������������� ��� ������������(��-�������>B)>���������������������� ������� ����(�������������������>B)>����� ��������������������������������8 ������� ������� ��������-������������ ���������8������������������������� � ������� ,����������������������������8����������M����N��������������� ��������
5��������������� ������� <������������>B)>������������������� ���?�������������������8����������� ��� ����
/* Set the attribute char pointer to point to the svalue character string array. Initialize the savename to a NULL string. */ att_value.value.string = svalue; strcpy(savename,””);
(��������������������D5� )��5� )������������������'��������<�����������������������������������������������������������������
(����5���"�'�������������������8������������� ���������������'����������� ����������,����� ���������������������������
/* Loop through all the component instances. For each unique instance, * obtain the attribute information and write it to the file. */ inst = NULL_TAG; while( TRUE ){
/* Set inst to the next instance under the top_part using the assem * routine to cycle instances. Get the part names of the instances. */ inst = UF_ASSEM_cycle_inst_of_part(top_part,inst); if( NULL_TAG == inst ) break; UF_ASSEM_ask_part_name_of_child(inst,fspec);
/* Split the file spec into the directory and part name strings. Remove * the ’.prt’ from the part file string and save the result in pname. */ uc4576(fspec,2,dspec,cname); uc4578(cname,2,pname);
/* Check if pname is the same as the previous name. Skip it if it is (the * buttons will have the same name and should only be done once. */ if(strcmp(savename,pname) == 0) { continue; } printf(”Working on %s\n”,pname);
ÏÏÏÏÏÏÏÏÏÏÏÏ
@
�#� ������� �����
,���&���������)����
4*3������������ �� �����
%����������������������������������������������-����������������������������� ����������������������5���"������������������ ����������������8���������8�����
�%!�43!��"!���!��&�!� !��������������� ��� �������� ����������>B?(������� �������������������������������� ��������(�� ������0 1���������������������������M����N�� �����>B?@����������� �� ���� ��������
/* Write a blank line and then the file name. */ uc4524(fid,” ”); uc4524(fid,pname);
/* Set child to the child part tag of the instance and change * the work part to the child so we can get the part attribute. * Check return code. */ child = UF_ASSEM_ask_child_of_instance(inst); flag = UF_CALL( UF_ASSEM_set_work_part(child) ); if(flag) exit(5);
/* Get the part attribute ID and read the PARTNUMBER and DESCRIPTN * attribute values. */ UF_CALL( UF_ATTR_ask_part_attribute(&atteid) ); UF_CALL( UF_ATTR_read_value(atteid,”PARTNUMBER”,UF_ATTR_string, &att_value) ); sprintf(msg,” Part Number = %s”,svalue); uc4524(fid,msg);
UF_ATTR_read_value(atteid,”DESCRIPTN”,UF_ATTR_string, &att_value); sprintf(msg,” Description = %s”,svalue); uc4524(fid,msg);
(������������������������������������������������>������������printf(msg,“ Part Number = %s”,svalue)��������������������������������������������������'�����?���������������������� ���0��>B�>1�
/* Copy the name of the part we just did to the save string */ strcpy(savename,pname); };
����������� �������������'��������'������������������������������������(��������������������������������������������������������
/* Close and print the file */ uc4540(fid,0); sprintf(msg,”cat %s,argv[1]); system(msg);
ÏÏÏÏÏÏÏÏÏÏÏÏ
@
�#� ������� �����
,���&���������)����4*4 ����������������
������������ �� �����
(�� ����������������'������� ���������(������ ��������������
/* Release Open API license */ UF_terminate(); exit(0);}
����������,���&����������
ÏÏÏÏÏÏÏÏÏÏÏÏ
@
�#� ������� �����
,���&���������)����
4*;������������ �� �����
� &�.�&�7��&&����&����/��:&����-���������
�����+ ���������)��������������$������"$������)�����������������(� ������������������$������������!��������������������!������� �������%���� ���()��������� �������������������)����������������(� ������������""����"��#���===�
�����, �����������"� ����(� ���������������)���)�*����������
�����- �������������������%���� ����� ��
��� ,������������������������������������������������������������.���
�����/ ���������"�#��(� ��(��������.����� �%����������"����������.����� �5����� ����"����������"�#��(� ����=�)�2� ������5�������7%7I�����"������(� ��������������)�����)� ��������5����(� ���� �����������������)����������������G"�#���.��*(��.�D�� �H�������������)���.��)��� ��
�����0 �)������������� �%���� ������ ��������������"����������!������"�$���)�")�����$�������� �) ���������(� ��$�2�������2���5���)"��������������������������)����
�����1 �)�������.����� �%���� ������ ��������������"���!���)�����������"W
� ��������������� ������� ��������9
� ������� ������
� �������������� ��������#���������������������������B�������
��� ,�?���������������8�����������/� ��#����������������������(��� ����� ������H�)��B�,,(B$�����������������������������������������(������)%�������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
@
�#� ������� �����
,���&���������)����4*+< ����������������
������������ �� �����
%&&�'( G����������������������������������������������'�������������G�����������������������,���&������������������������������������������������������������������������������
���������������9
� A�������������8�����������,���&���������������������
� A���������������������������������������*�����
� �������������� ������� �����
� ����������������%-�0%�����-�������� ���1������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�������
*+������������ �� �����
,���&���������)����
���������������(�
�-$&&�������&�����������
&����������������������������*����������������������������!�������� �������������������������������������������������������� ��������-B�A,(B��������
�-$&�2$�&���!
(���������������������,���&������������������������������������������(����������������'��������������������������������,���&���
� AD��%!D���� ��
� AD��%!D���2���
������ �" ���*����.����+�
UF_PLOT_options_t plot_options;
AD��%!D�������D��������� ���������������������������������������������������������������������������������
/* Set the plot options. The scale of .45 allows an A2 to plot on 8.5X11 * paper. The rotation will and offset will be zero. The origin is the * lower left corner, 0,0,0. */ plot_options.scale = 0.45;
(���������& ���������������43+ �33�������������������� !�2;�
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�������
*, ���������� �� ������������ �� �����
,���&���������)����
plot_options.plotter = pltr; plot_options.node = node; plot_options.jobname = jobnm; plot_options.pauseMsg = pause; plot_options.bannerMsg = banner;
(���������������������������������������������������������������'���������D��������'���������������������������������������
/* Call the plot drawing routine. Check return code. */ flag = UF_PLOT_drawing(dname,&plot_options,&jobid); if(flag < 0) return(flag);
%��������������������������������������������������������������
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�������
*-������������ �� �����
,���&���������)����
� &�.�&�7�������&�������%�����-$&!
�����+ �����������"� ����(� ������������������)���)�*����������
�����, �������%���� ���()��������� ������ ����������2����'�#���)�������������������� ��������"�����5� ��U
�����- ��������� �����������������������������������"�
�����/ �����������������(���������������������������� �(� ��
�����0 �����������������������������������������7%7I�� �������"�#������2��.��)��� �����������)��)������������"$���)���) ��������� ���
ÏÏÏÏÏÏÏÏÏÏÏÏ
�
�������
*/ ���������� �� ������������ �� �����
,���&���������)����
6!������������������� ����(��7 ��#8
ÉÉÉÉÉÉÉÉÉ�1
0������!
��*+������������ �� �����
,���&���������)����
)�� ��
7�/&�����������������������
��� )�������������������"/%���������������������������������������� ���� ������������������������
����5��5��2/,��� ����26'����������������������������������8�
��� �/����������������������������������=[G������ ������������������������'�� ��������������������������������������8������'����� ������������'�R��������� ���=[G������&�������������������������������������������������'��
���/&�����������������T��������������������������������������M�������N
����/&���������������%��� ���� ����������������������������� 4[�����������������������������������������������������������������������������������������������������������������������������������
������������/(�������� ��������������������������������������������� ������ ���������������
����"� �/&����������� ����������������[������������������������������������������������������������� ���������������������������
����"� �������/&��������������� ���������������[�� ��������������������������� ���[������������������������+����*�����
���������5���/(���������������������0���81��������������� �� �������������������������������������� ������������ ������� �������������������
������)���/������� �� �����������������������������������������������������������������������������������*����
� ��#�(���/&�������������������� ��������������� ���� ������� ������������������� ������*������������������
����/%����� ��*�����������������������������(see ��������and ��������)�
�����"X)��"��� ���/<�������������D����������������������������������������������������� ����������������������������'����������&����������������������������������������������������������������� �����������������������������������������'���
ÉÉÉÉÉÉÉÉÉ�1
0������!
��*, ���������� �� ������������ �� �����
,���&���������)����
��)�����/&���� �����������*�������������������������������� ����� ����'������������
� �&� '/%�������&����$�����+%�������&����<��� ���������
��������$� ����/&���������������������������� ������&��������� ���������'�� ������� ���� ����������������������������������������������������������� ������������������������� ����
��������/&������� ������������D������ ���'����������*��������[��[����
���� �/&�����������������������������������������������������������M����N
��"������/&����������� ��*�������������������������������������&�����������������[������������������ �������������'�������������
��"�����������/(������ �����M������N������������������������������������(���������������������������������������������� ������������������������������&����������������������� �����������������������������������������*��������������������
��������������/$� ����������������������������:�������� ��������
�����������/$� ��������������������������������� ��������
�� (���� �/(����� '������������ ������������ �������������� ������������������
�����������/�� �������������������������� ���������������8�����(���������� ��������������8�������������������������������
������)������������/��������������������������%��������������������������������0�������'�������1��� �����������������������������,A#��$#-����)�,��(�����$&(&�,��(��
������ ������/���������������� ������������������������*����&�������������������������9���������������������������� ��������(�������������� ������������������������������������������������ ���������������������������������&����������������������������8���������&�����������������������������������������&�� ��� ��������������93�#������������� �#��������� ������"�#��������������������� ��������2�%������������ �������;�<��������������������� �����7�#��������� ��������
���5�����)�5�/&������� ����������[���'�����������'��0��������������������������1������������ �����'������������[���'��
ÉÉÉÉÉÉÉÉÉ�1
0������!
��*-������������ �� �����
,���&���������)����
����������������"/&������ ��������������� ������������0%�G�1�
��)����� ��#2���/(�������[����������������������������[����8��������������� ������������������������R%��������������������������'����������������������8�������� ��������������������� �������������'� ������������'�=%���������������'�G%�����
�)������ ���)�/(�����������������������������������A����������8�����������������������������������������'���
�)�5�/&���'������������������������������������������[���'��&�����������*���T�������� ���������������������������������
��(�) ��/&������'����������������������� ������� �����
��(������������/���������������������������������������������� �������������� ����������������������������(���������������������������������������
������X�(X(�����"�����2�/&����[��8������������������������������D���������� ���������� ��������������8�����
���������������.�/(����������������������������������������������������������������)������ ��������������������������������������������������&����� ���������������������
��"������� �����������/(������������'�������������������������������������� ���������������*������������������� ���������������� ������������������������������������
���������/&������������ ������������������������������������������� ���������������������� �������� ��������������� �����
���� ���������/(������currently displayed in the graphics window�
��������� ���/�������������������
�"�����@��2��#�����/&�����������������������������������������������������8���� �������������������������������������������
��������/&���������� ����'�������������������
�.��������/&�����������������������������������������'�����#������������������������������������������������������������������������� �������
(���/&������������������� �������������������
ÉÉÉÉÉÉÉÉÉ�1
0������!
��*/ ���������� �� ������������ �� �����
,���&���������)����
(���)��/&����[����������������������� ��������������������������������'���
(� �/&������������ �����������������������������������M�����N����������������������� �������������������������������������������� ������� �����
(� ������/������*��� ���������
(������./&�����������M���N��������� ������������*�����(�� �������� ���������������������������� �������������������������������� ����
(���$����������/&���� �������������������������������������������������
(���$� ���/:������������ �����������'��������������������������
(����(��"�(���)��/A body of zero thickness. (see ���and ��������)
�����������)�5�/&�������������� ���'����������������������������������������'��'���������������
���"����������������/&���������������������������������������*�������� �����������������-����������������������������������������������������� ������������������������
����/&���������������� ������������������������������������������������������������������M��������������N�������
�)�����)�5�/&���� �������������'�������� �������� ������������������
5���)� �������������/������������ ����������������������������������������������������������������������(�����������������������[��������������������
��( ������/&�������������������������'�������� ��������'������'�����'���'�����
���������5������/&�����'��������������D������ �������������� ������������������ ��������
���"������5��2�6!(�X��%8/���������'��������������/���������D������������������������������������������D��������'���������,��� ���������'��������
#����������/(���� ������������ ��������������������>[�������������������������������� ������������������
ÉÉÉÉÉÉÉÉÉ�1
0������!
��*0������������ �� �����
,���&���������)����
����/&����������������� ������A������������������������������������������������'������������������-������������������������������������������������������������������������������������������������
���)�/&����������� '�����������������������������'����������������(�������������������������������������������� ��������'���������
���)��/������������������'�����������������(�����������9A3/������:����A /(��:�����A"/(��:�����A2/-���:�����A7/���:�����
��(��"������2����2/(����������������������������������������(��
����������/&�������������������������������������������������������������%���→�����������������������������������������������������������
"��)/&����� ������� �����������������8�������������
"��� ������/(������������������ �����������������(����������� ������������M������������������������N&��������������������������������� ��������������+�������������� ���������������������������
��"�$��.��������//(������� �����������������������'�������������� ���������� ��������������&��������������������������D��������� ����#������������������'��������������������������
��J����/&�������������������������������'���������
�((����(���/&��������������� �����������������*������0� �������1������������������������� ������������ ����������� ��������������������M����N� ����
��������/&������� '���������������'��0 ������������������������������1 ������������������������������
�������/(�������=S!�GS!�RS! ������������������������������
����"������������/%�������������� ��������������������������������������� �������� �������%�������������� �������� ������������� ����������������
����/&����������� �����������������������������������������������������������������������[��������������[��'����������
ÉÉÉÉÉÉÉÉÉ�1
0������!
��*1 ���������� �� ������������ �� �����
,���&���������)����
��������"����/&����������� �������������*����������������������������������*���������������
������ �� ����������/&������������������� ����� ������������������������� ����������,���������������� �������������������������������������������'��������������������������0����� ���������1�
���������/&������������� ������������'����������������������������������'��
�������)�()�������'��)/&����� �������0�������1������������������������� �����������������
����X�� ������/&���� �����������������������'���������������'������
��� ���"������"���/����������������������������������� �����������������������������������%���
��(����/& ������������������������������ ����������������������'�������������(�������'������������������������ ������������� ��%������&�����
�����X������) �$����5������� /(�������[���������������������������������������� ������������������ ���������� ������������������������������ �������� ��������������8� ���������������������������������������� �������� ���������������������������'�G������������������������ ��������� ���������������������������'�R���������������������������� ������������������������������'�=�����
�����X������) ��(�����������/(�������[�������� ���������������������������'��������������������� ���������?��������������������������������������'��'��������������� �������������������������������������� ���������%��'������������������� ������������������������������'������������ ������������������������������������������������'������
��������)�����6�)����8/&���8���������������������������'������������������������������������'�������� ���������������������������������*���������(�8����� ���� � ���[������������
�����/&��*�������������� ��������� �����������������'������&���� ����[����8�����&������������������1
�#����/&����������� �����������*������������������������������������� ������������������G���� �������8������������������������������������������������������'������������������������ ����������(���8�������������������������'��'�����������"$��*����� �������
ÉÉÉÉÉÉÉÉÉ�1
0������!
��*3������������ �� �����
,���&���������)����
�#���������������������"0�%�1/(���%���������������������������������������������� ����8�����?�����8����������������?%����������������%�� �������8�����
�� �������/&���������'������&���� ���0���>��1�
�� ���/&������ ���[ ������'��
������� ���)�/(��������'��'������� �������
�������5��2/(��������'��'������� �'����
������/&����������������� ��������+��������������������������������
�)�X����"� �/&����������������������������������������� ������������������������[��'�������������
�)�(���/(�������������������������� ���� ���������������&��� �������������������������������������������� ���0�����������1�(�������������������������� ������������ � ������������
�����"/(��������������������
��"�����������/&�������������������������������� ������������������������������� ����������������� �����������������
���X��2��"��� ���/<�������������D��������������������������������������������������8�����������������'���)���������������������������������'������������������� ���������������'������������������������'���
���"/(��������������������'��
���"������5��2�6!(�X!��8/&'�������������������������'���������������������'���� ���������������������������������������������'���������R[����'��������(�����������������=[������.+4� ���������������R����������������������G[������"+2� ���������������R�
����������/&�����������������8�������������� ����������[��������������� ������������ �������������������)��
)����/(������� ���������������������8���������������������������������������������� ����������� �����������������������������
)����������"������/&������������������������������������[:3!������������������:3!�����������������'���������������������
ÉÉÉÉÉÉÉÉÉ�1
0������!
��*4 ���������� �� ������������ �� �����
,���&���������)����
5������/&��������������� ������������ �������������������������� ���� ��������������'�����������������������������������
5��2/&����������������� ���������:��������������������'��������������������T������T�����T=�G���R��������������T���������'�'�����T��������� ��������������������#������������'��������'����������������9(���-�����������A� ��>������>��8�( �[��,0���[ ����[��������������1����( �[(��0���[ ����[��������������1�
5��2���������������/&���������������������������������������������8'�������
5��2�����������"���(��������/<��� �������������������� ��������������������'����(���������������� ���'���������� ������ ������������
5��2��������������"����/)������������������������������'�����������������������������'����
���/?��8%���������������
���$�2��#�� ���/(��?%�0?��8%��������������1�������������������������������������� ��������������������'��� ������������(�������������� ���?%�������������8�������������������������=%�G%�R%�(��=%[G%�������������������8������
���#�����������������"/���?%��
2��#� ����/(���������������������������������������G������������*������������������������
2��#�����/(������������������������������������(�����8����������������������������������������������������������������������������������?�����������������������������8������������������������������������
2��#�5��2/(��'�������������8���������� ������?��������������������'������������������������������'���������������������������� ��������������������������������8'����
?���.��/=[����� ������8����������������
=���.��/G[����� ������8����������������
Y���.��/R[����� ������8����������������
ÉÉÉÉÉÉÉÉÉ
��
��� #
�*+������������ �� �����
,���&���������)����
!���(
�&>��)A/3
&�������%���������������)A/3
&���'�:����)A/3
&�����)A/3
&���)A/3
&�%���)A/3
&�����������)A/3
&����������)A/3
&��������'���)A/3
&���������)A/3
�>���)A/3
>�����/��<��������)A/3
>�������)A/
�%�������A����)A/
%��������)A/
%������)A/
%���������)A/ �����)A/
%���$���������)A/ ,������)A/
%�����������)A/
%������������������)A/
%������������)A/
%��'����%��'����>[%��'���)A/
%����������������)A/"�8�����)A/.
%����������8�����)A/"
%������A�����)A/"
%������)A/7
%��'��)A/"
,$� ������)A/"
$� ������������)A/"
$�����[� [ ������&������)A/"
$�������%�������)A/"
$��������%�����������)A/"
$���������%����)A/
$��������)A/"
$������������)A/"
�#�����������)A/"
#��������?��8�����)A/"
#��������)A/"
#�����������)A/"������)A/;
+-����)A/"
-��������)A/2
-����)A/2
-���������)A/2
-���>���)A/2%���������)A/2A����)A/2
-���-���-�������)A/2
0)��������%��'��)A/2
)��������%����������)A/2
)����)A/2
)����%��'��)A/2
/5�� &�����)A/
ÉÉÉÉÉÉÉÉÉ
��
��� #
�*,���������� ��
������������ �� �����
,���&���������)����
��� ��������)A/2
1O����������)A/2
�A����)A/;
A�����)A/;
A������?������)A/;
A����������)A/;
&<����)A/;
<�����)A/7
<����������)A/;
�,�*����)A/;
, ������ ����)A/;
,������%����)A/
�����������$������)A/;
�����)A/;�)A/7
��������A����������)A/7
���������)A/7
�������� ��������)A/7
'����[,�������)A/7
����(���$�������)A/7
�� �����)A/7
�����5��������)A/7
���������)A/7
�%��)A/.
������)A/7
�8�����)A/7%���������������)A/.
�����>���)A/.
�������)A/.
������A�����)A/.
������:����)A/.
�������)A/.
���[��������)A/.
��� ����)A/.
������)A/.
�(������������)A/.
( �[��,�)A/2
( �[(���)A/.
(��/$���<��������)A/.
(����)A/.
%��;;2!�7/
��72"!�7/3"
��72"3�7/3"
��72" �7/3"
��72""�7/3"
��72"2�7/3"
��722 �7/3"
��722"�7/3"
��7226�7/3"
��72;!�7/3"
��72;2�7/3"
��7272�7/3"
��7277�7/3"
��7274�7/3"
��72.7�./"
��72..�./"
��72.4�./"
��72.6�./"
ÉÉÉÉÉÉÉÉÉ
��
��� #
�*-������������ �� �����
,���&���������)����
��724!�./"
��7243�./"
��724 �./"
��724"�./"
��7242�./"
��724;�./"
��7247�./"
��726 �./"
��726;�./"
��7267�./"
��7266�./"
�-B&��#<B��8B�����B�������� "/33
�-B&��#<B��8B�����B� B��������� "/33
�-B&��#<B��8B���������B����� "/33
�-B&��#<B��8B����B� B����B���� "/33
�-B&��#<B��8B��B����B����� "/33
�-B&��#<B��8B����B� B������ "/33
�-B&��#<B��8B����B� B����� "/33
�-B&��#<B��8B������B� B��������� "/33
�-B&��#<B��8B��������B� B���� "/33
�-B&��#<B��8B���8B����� "/33
�-B&��#<B������B���������B����� "/33
�-B&��#<B������B��B����� "/33
�-B&��#<B����B����B��B����B���� "/33
�-B&��#<B��B�����������"/33
�-B&��#<B��B����B����������� "/33
�-B&��#<B����'�B��������� "/33
�-B&��#<B���B�����B�������� "/33
�-B&((�B��8B����B���������� 4/"
�-B&((�B��8B����B������ 4/"
�-B&((�B��8B����B�����B��B ���� 4/"
�-B&((�B�������4/"
�-B&((�B�����4/"
�-B&((�B�������4/"
�-B&((�B������B����4/"
�-B&((�B����B'�����4/"
�-B%�G�B��8B����7/3
�-B%�G�B������B����7/3
�-B%�G�B������B������� 7/3
�-B%�G�B������B����B���� 7/3
�-B%�G�B���B������ 7/3
�-B%�G�B���B����7/3
�-B$�&?B��8B�������B��������./"
�-B$�&?B��8B�������B�� �� ./"
�-B$�&?B�� ���B'���B������B����� ./"
�-B$�&?B������B'����./"
�-B$�&?B���B�������B�� �� ./"
�-B$�&?B������B���B'���� ./"
�-B$�-B��8B��� �������� 7/
�-B$�-B������B����������B���� 7/
�-B$�-B������B������7/
�-B$�-B������B'�������B���� 7/
�-B$�-B����B��*���B���������� 7/
�-B$�-B���B��� �������� 7/
�-BA&G#�B��8B�������"/3
�-BA&G#�B����B�B�����"/3
�-BA&G#�B���B�������"/3
�-B<,$AB����'�B����� ;/6
�-B<,$AB��8B����8B������;/3!
�-B<,$AB��8B���B������ ;/3!
�-B<,$AB��8B���B ����� ;/3!
�-B<,$AB��8B���B���� ;/3!
�-B<,$AB��8B����B���� ;/3!
�-B<,$AB��8B����B ����� ;/3!
�-B<,$AB��8B����B���� ;/3!
�-B<,$AB��8B����B'����� ;/3!
�-B<,$AB��8B���� 2/2
�-B<,$AB��8B���B���B������� 2/2
�-B<,$AB��8B���B���B'����� 2/2
�-B<,$AB��8B ���B���� ;/3!
�-B<,$AB��8B ���B����� ;/3!
�-B<,$AB��8B ���B������ ;/3!
�-B<,$AB��8B ���B���� ;/3!
�-B<,$AB��8B ���B ����� ;/3!
�-B<,$AB��8B����B������ ;/"
�-B<,$AB��8B����B����� ;/"
�-B<,$AB��8B�������B����� ;/3!
�-B<,$AB��8B������B����B������ ;/3!
�-B<,$AB������B������ ;/6
�-B<,$AB������B����83�;/6
�-B<,$AB������B��3�;/6
ÉÉÉÉÉÉÉÉÉ
��
��� #
�*/���������� ��
������������ �� �����
,���&���������)����
�-B<,$AB������B���� 2/2
�-B<,$AB������B���B���� 2/2
�-B<,$AB������B�������;/6
�-B<,$AB������B������B����� ;/6
�-B<,$AB������B����� ;/"
�-B<,$AB������B����B���8��� ;/6
�-B<,$AB������B����B����� ;/6
�-B<,$AB������B������B����� ;/6
�-B<,$AB������B���� 2/2
�-B<,$AB������B���B���� 2/2
�-B<,$AB������B����� ;/"
�-B<,$AB������B����B����� ;/"
�-B<,$AB�������B���B������� 2/2
�-B<,$AB����B���� 2/2
�-B<,$AB�'��B���� 2/2
�-B<,$AB������B���� 2/2
�-B<,$AB������B���� 2/2
�-B<,$AB����������� ;/6
�-B<,$AB���B����B����� ;/"
�-B<,$AB������B���� 2/2
�-B<,$AB������� 2/2
�-B,>]B��8B�����;/33
�-B,>]B��8B������� "/3"
�-B,>]B��8B���B���B�������,�*����"/3"
�-B,>]B����B�B�����;/33
�-B,>]B������B�����;/33
�-B,>]B������B��*����"/3"
�-B,>]B���B�� B���B������ "/3"
�-B,>]B���B�����;/33
�-B�&�(B�������./2
�-B�A,(B�������&/3
�-B�A,(B��������&/3
�-B:�#?B��8B���B� B'���B����� 7/
�-B:�#?B��8B���8B'����7/3"
�-B:�#?B����B��*�����7/3"
�-B:�#?B�������7/3"
�-B:�#?B������B'����7/
�-B:�#?B ��B'����7/3"
�-B:�#?B��B��������� 7/
�-B'���B��'�B���B����'�B'����� 7/3"
�-B:�#?B��������B���8B'���� 7/
������������)A/.
������)A/.
��������%���������)A/.
�:�������)A/4
:����)A/4����������)A/2(���������)A/.?��8�)A/4
2?%��)A/4
?��8A����)A/4
?��8�����)A/4
3=%[&����)A/4
(G%[&����)A/4
4R%[&����)A/4