Jump to content

Gordon

Member
  • Posts

    10
  • Joined

  • Last visited

    Never

Everything posted by Gordon

  1. Thanks a bunch Dave, for the quick and effective reply. I had eyeballed the 'Rewrite' and 'StdRead' procedures a number of times, but could not get a clue from the written material as to what they might do for me! From what was said, it appeared they would not be beneficial, so I never tried them. I appreciate the education.
  2. I'm trying to build a procedure that will read an array of 'real' values from a prepared ASCII file and then do some drawing based on those values. Initially, I got hung up with syntax errors but eventually got an experimental procedure that would sort of read the supplied data file. The problem I have is VS does not seem to reset the record-marker to BOF. It reported, as I recall, the final three values out of a set of 16. I decided to build a test-procedure that allowed VS to write its own file and then read it. That script is pasted in below. The supplied procedure, 'A_test', reads the last value OK, but reports zeros for the other seven. Does anyone have any idea how to overcome this mode of operation?==================================================PROCEDURE A_test;VAR a1,a2,a3,a4,a5,a6,a7,a8 :REAL; b1,b2,b3,b4,b5,b6,b7,b8 :REAL; filespec : STRING;BEGIN a1 := 1.1; a2 := 2.2; a3 := 3.3; a4 := 4.4; a5 := 5.5; a6 := 6.6; a7 := 7.7; a8 := 8.8; PutFile('What file?','The output',filespec); IF NOT DidCancel THEN BEGIN WriteLn(a1); WriteLn(a2); WriteLn(a3); WriteLn(a4); WriteLn(a5); WriteLn(a6); WriteLn(a7); WriteLn(a8); Close(filespec); END;{file-write} Open(filespec); WHILE NOT EOF(filespec) DO ReadLn(b1); ReadLn(b2); ReadLn(b3); ReadLn(b4); ReadLn(b5); ReadLn(b6); ReadLn(b7); ReadLn(b8); Close(filespec);Message(b1,' ',b2,' ',b3,' ',b4);Wait(5);Message(b5,' ',b6,' ',b7,' ',b8);END;RUN(A_test);==================================================I notice that Pascal has a 'RESET' instruction that moves the marker to BOF, but I don't see that option in VS! I'll be grateful for any advice on this issue. TIA.
  3. Using VW8.0.1, I create a simple 2D DWG and place some dimensions on it. The page is oriented with its long axis going left / right, and all text is // to that axis. When finished, I want to copy the DWG into an MSWd document and that necessitates a 90-deg CCW rotation while still in VW. I find that everything rotates as planned, except for the dimensions' text -- that text rotates 90-deg CLOCKWISE! I don't find any commands that can stop that. Can anyone help overcome that unwanted rotation of dimension-text?
  4. Using VW8.0.1, I create a simple 2D DWG and place some dimensions on it. The page is oriented with its long axis going left / right, and all text is // to that axis. When finish, I want to copy the DWG into an MSWd document and that necessitates a 90-deg CCW rotation while still in VW. I find that everything rotates as planned, except for the dimensions' text -- that text rotates 90-deg CLOCKWISE! I don't find any commands that can stop that. Can anyone help overcome that unwanted rotation of dimension-text?
  5. Yes, P. Retondo has led the way! It wasn't pain free, but ultimately massging the Working-Planes works. Thanks. FYI, here is a note I wrote to myself about the operations required: VectorWorks does not make it easy to do compound rotations. For example if a rectangular-parallelepiped is drawn in VW, and it is desired to rotate the 3D object about two or more of its edges in a sequence of rotations, VW can easily do the initial rotation, but it is not programmed with straightforward commands to identify tilted, 3D, object lines or edges as subsequent rotation axes. Using the following VW tools, one can create some work-around steps: a) Palettes | 3D Tools | Set Working Plane Tool b) View | Move Working Plane c) View | Rotate Working Plane d) Tool | Rotate | Rotate 3D | Rotate Object in 3D. Some observations: Tool (a) works well on the face of a rendered object, but never did set a new Working Plane by the three-point method. With tools (b) and ©, use only the I, J, K settings; and be prepared to fool around (trial and error) with the signs of displacements or rotations. Tool (d) should be used with the Working Plane Center option and a selected Working Plane Axis, I, or J, or K. Some sample steps: 1) Select object and use tool (d) do to first rotation. Render object solid. 2) Use tool (a) to place the WP on a face of the object that also contains the next pivot axis. 3) Make sure that either I or J in the WP is collinear with that next pivot axis; if not, use tools (b) and / or © to align I or J to the intended pivot. 4) Use tool (d) for the second rotation. 5) Loop on (iterate using) steps 2) through 4) for all subsequent rotations. 6) Generally, these rotations will be relative to a coordinate reference frame that is to remain stationary, and one corner of the rectangular-parallelepiped should remain attached to its origin. If, after all rotations, the corner is offset, then use nudge to shift the object as desired. Regards.
  6. Glad to hear from you Retondo. Actually that sounds like a workable idea! I'll give it a try. Also, appologies to all reading this thread -- in previous posts, I have been mixing up Ground-Plane axes with Working-Plane axes, so that will have been confusing.
  7. Yes, I used the Rotate-3D command process for the initial rotation; but got blocked after that. Essentially, I must be able to identify a line element that represents one of the rotated i,j,k vectors as the next rotation axis (to get the i'',j'',k'' set). Then in that set I would select one of those line elements as the next axis and command a third rotation. The "symbol" aspect is interesting, but as stated above, I must be able to specify which of the three axes within the symbol is the proper one about which to do the next rotation. I grasp what you are saying about the VectorScript capability. My current thinking is it would be necessary to code actual matrix multiplication routines to get the work done. I do that using Mathcad. My purpose in resorting to VW is to get some illustrations to provide visualiztion of the operations being done in Mathcad.
  8. quote: Originally posted by jodawi: How are you rotating them? Have you tried the Rotate 3D command in the tool menu? VectorScript does have 3D rotation commands, but it can be tricky at times. Note: A group does not have a rotation matrix attached to it...it's just a collection of individual objects that move as a group. A symbol would have a matrix attached. [This message has been edited by jodawi (edited 06-26-2001).]
  9. Granted, there is a high chance that I'm the confused one. But, my problem with the menu command is its inability to rotate an object about an axis other than: 1) one of the working-plane X,Y,Z axes, 2) one of VW's I,J,K axes (which are not related to my i,j,k unit vectors), or 3) an object center (I forget the actual description of that last axis). If I have defined each of the three unit vecetors to be 1-inch long, and then group the 3D set, I have a one-inch cube. After my first rotation, which must be about one of the WP-axes, and assuming the next rotation is not about the unit vector that is still aligned with the first rotation axis,VW rotates the cube about its center! I want it to rotate about a specified edge of the cube. In 2D, rotations are beautiful -- as supported by placement of the locus point. For 3D, we need a "locus-line" that could be superimposed on a 3D-polyline -- that's what is missing (for me). Regarding reverse-order: I can't do operations in the opposite order. If I knew how to orient the triad in its final position (relative to my reference coord-system), I would be done! No, to get there, each rotation must be done in the proper order / sequence to obtain a correct, final orientation. Thanks for your thoughts on this, jodawi.
  10. I have created a mutually orthogonal i, j, k, unit-vector triad in 3-D. Initially aligned to the workplane axes X, Y, Z. I then rotate the ijk group about a specific workplane axis, say the X-axis (all of which I can do through this point). Next I want to rotate the triad about one of its vectors -- say j'. This, I can't get VW8.0 to do. Subsequent rotations about higher primed (further-rotated) axes / unit-vectors must follow. These are all numeric-input rotations - it won't do to grab a handle and start dragging! Questions: Can VW do this? Can it reasonably be done using VectorScript? TIA for useful instructions.
×
×
  • Create New...