perm filename 5[GEM,BGB] blob sn#030959 filedate 1973-03-25 generic text, type T, neo UTF8

00100 V - VERTEX BODY CREATION. 00200 00300 This command creates a polyhedron consisting of one vertex 00400 and one face. The vertex is placed at the world origin. 00500 The V command takes no arguments and leaves the new body, 00600 face and vertex on the stack with the vertex on top. 00700 00800 00900 E - EDGE AND VERTEX CREATION. 01000 01100 This command creates a new edge and a new vertex starting 01200 from an old vertex. The E command requires two arguments, the top 01300 argument is the old vertex and the second argument must be one of the 01400 faces to which the vertex belongs. The new edge and vertex become 01500 associated with the given face. 01600 01700 01800 J - JOIN OLD VERTICES - FACE AND EDGE CREATION. 01900 02000 This command creates a new face and a new edge. The J 02100 command has two forms. The general form of the J command expects two 02200 vertices of the same face to be given on the top of the pdl, and it 02300 returns in their place a new edge and a new face with the edge on 02400 top. 02500 The wire form of the J command applies only to a face that 02600 doesn't have a closed perimeter. 02700 The wire J 02800 command returns the other end of the wire in top and leaves the 02900 second argument unchanged. 03000 03100 03200 G - GLUE TWO FACES TOGETHER. 03300 03400 This command takes two faces from the top of the pdl. The 03500 faces must be nearly coincidant and of opposite orientation. The two 03600 faces are deleted along with all the edges and vertices of one of 03700 them. If there were two bodies, then one remains. A body glued to 03800 itself forms a hole. 00100 K - KILL. 00200 00300 This command takes the top body, face, edge or vertex and 00400 deletes all parts of the body to which it belongs. The camera body 00500 and NIL will not be deleted. 00600 00700 00800 S - SWEEP. 00900 01000 This command sweeps a face into either a sheet or a solid 01100 depending on the NCNT. If the NCNT is zero, then SWEEP returns a new 01200 face coincident with the given face and connected to it by new sweep 01300 edges and rectangular sweep faces forming a prism. Furthermore, a β 01400 sweep forms a pyramid on the given face and returns the peak vertex, 01500 while α sweep and ε sweep form antiprisms. An antiprism is merely a 01600 prism with the rectangular sweep faces split into triangles. 01700 When the NCNT is non-zero, only the first NCNT edges of the 01800 argument face's perimeter are swept into new faces. Thus NCNT new 01900 faces are created and the argument face is returned somewhat more 02000 complicated than before. See the SPHERE example to clarify sweeping 02100 out a solid of rotation. 02200 02300 02400 R - Rotational Solid Completion. 02500 02600 After a wire has been swept around, you have a shell of 02700 rotation. To change a shell into a solid all that remains to be done 02800 is do a series of J commands on the leading and lagging vertices of 02900 the shell. The R command, using the NCNT to step around the pole 03000 caps, calls the J-command for all the necessary pairs. The sweep face 03100 is taken as an argument and nothing is returned. 03200 03300 03400 M - MIDPOINT. 03500 03600 This command takes an edge argument and creating a new edge 03700 and a new vertex makes the appropriate modifications to the body and 03800 returns a the midpoint vertex of the given edge. 00100 The Euclidean geometric transformations are translation, rotation, 00200 dilation and reflection; these transformations do not affect the 00300 topology of faces, edges and vertices. The Top of the scratch pad pdl 00400 is transformed by hitting one of the following Euclidean transform 00500 characters: 00600 00700 : Transform in the positive direction wrt the X-axis. 00800 ; Transform in the negative direction wrt the X-axis. 00900 ) Transform in the positive direction wrt the Y-axis. 01000 ( Transform in the negative direction wrt the Y-axis. 01100 * Transform in the positive direction wrt the Z-axis. 01200 - Transform in the negative direction wrt the Z-axis. 01300 01400 Clearly these characters are not mnemonics, they were chosen because 01500 they do not require the TOP key and are conveniently grouped in pairs 01600 under one's right hand. 01700 01800 The Transform is selected by keying the control bits or or prefixing 01900 the command with a control key character of suffering a preselected 02000 default Transform: 02100 02200 default - usually TRANSLATION. 02300 α ROTATION. 02400 β DILATION. 02500 ε REFLECTION. 02600 02700 02800 The Euclidean Transformation default selection characters are: 02900 03000 ! TRANSLATION. 03100 @ ROTATION. 03200 = DILATION. 03300 ∃ REFLECTION. 00100 Euclidean Transformations. 00200 00300 Translation moves the Top object in the direction specified 00400 by one unit of translation strength. Similairly Rotation rotates the 00500 Top object about the axis specified by one unit of rotational strength. 00600 Positive Rotations are ccw and negative rotations are cw. 00700 00800 Dilations refer to a three state dilation axis selector. 00900 Dilation state 1 causes dilation on the specified axis, dilation 01000 state 2 causes dilation on the two axes not indicated, and dilation 01100 state 3 causes dilation on all the axis indicated. The dilation 01200 selector is advanced by typing the letter A, Advance Axis Selector. 01300 The state of the dilation axis selector is displayed as a digit 1, 2 01400 or 3 just to the right of the dilation strength's per cent sign in 01500 the editor status display at the upper right of the III screen. 01600 01700 And finally, Reflections act only on the axis specified and 01800 always in the world frae of reference. I have found little use for 01900 reflections and consquently their power has atrophied. 00100 COMMANDS - GROUP 3 - continued. 00200 00300 Strength of Transformation 00400 00500 The strength of a Euclidean Transformation can be halved or 00600 doubled by keying the Transform's control bits and by striking 00700 a left or right square bracket respectively. 00800 00900 / Halve a Transformation Strength. 01000 \ Double a Transformation Strength. 01100 01200 The strength of a Euclidean Transformation can be set by keying the 01300 Transform's control bits and by striking a digit from 0 to 9. 01400 01500 For Translation: 01600 0 1/16 of a foot, A "binary inch". 01700 4 One Foot. 01800 9 32 Feet. 01900 N Where 0 ≤ N ≤ 9 yield 2.0↑(N-4) feet, 02000 but you only need to memorize the 0,4,9 in 02100 order to keep your head straight. 02200 For Rotation: 02300 9 π/2 02400 8 π/4 02500 etc 02600 For Dilation: 02700 0 100% 02800 1 10% 02900 2 20% 03000 etc 03100 9 90% 00100 COMMANDS - GROUP 3 - continued. 00200 00300 Setting the Strengths 00400 00500 The strengths of the Euclidean Transformations can be entered 00600 numerically by typing λ,π or % followed by a numerical argument. In 00700 command formats given below x & y are scanned as real numbers, while 00800 n, m, d & s are scanned as integers. Integers can be typed in place 00900 of reals with no ill affect, whereas reals typed for integers are 01000 Fixed. 01100 01200 For Translation: 01300 λx feet. Initially set to 1 foot. 01400 λx' feet. 01500 λx'y" feet and inches. 01600 λy" inches. 01700 For Rotation: 01800 π/m pi fraction. Initially set to π/4. 01900 πn/m pi fraction. 02000 πx radians. 02100 πd,m,s degrees, minutes, seconds of arc. 02200 For Dilation: 02300 %x 0.01 ≤ x ≤ 100.00. Divisions by zero are shunned. 02400 Initial set to 75% 02500 00100 STACK COMMANDS 00200 00300 "↔" Swap 1st and 2nd. 00400 "α↔" Swap 1st and 3nd. 00500 "β↔" Swap 1st and Last. 00600 "ε↔" Swap 2nd and 3rd. 00700 00800 "↓" copy push down. 00900 "α↓" rotate down. 01000 01100 "↑" pop off. 01200 "α↑" rotate up. 00100 SUMMARY OF SWITCHES 00200 00300 switch commentary 00400 00500 00600 Q - FRMORG 00700 FRMORG affects world frame rotations. 00800 TRUE * rotation about a world axis, 00900 thru the world origin. 01000 FALSE rotation about a parallel to a world axis, 01100 thru the body origin. 01200 FRMORG is flipped by the Q-command. 01300 The state of FRMORG is indicated by an asterisked in the 01400 Editor's Status Display. The asterisk is present when 01500 FRMORG is true and absent when FRMORG is false. 01600 01700 F - FRAME 01800 FRAME is a three state switch that affects translation, 01900 rotation and dilation. 02000 state-1 indicates World Frame of Reference. 02100 state-2 indicates Body Frame of Reference. 02200 state-3 indicates Relative Frame of Reference. 02300 FRAME is incremented, modulo 3, by the F-command. 02400 02500 A - AXECNT 02600 AXECNT affects only dilations. 02700 state-1 indicates dilation only on the specified axis. 02800 state-2 indicates dilation on the two axes not specified. 02900 state-3 indicates dilation on all three axes. 03000 The state of dilation is indicated by a digit to the right of 03100 the dilation strength's percent sign in the GEOMED Status Display. 03200 AXECNT is incremented, modulo 3, by the A-command. 03300