Author Topic: SYS functions and Macro language  (Read 539 times)

samdavo

  • Hero Member
  • *****
  • Posts: 1871
  • the trick is knowin...^ > v < - which way's up?
SYS functions and Macro language
« on: March 31, 2013, 08:47:44 PM »
Apologies if this is something that comes standard - but I couldn't find it with my latest V22 package. 

I enclose some notes for writing macros - dated March 2000 - just found in a bottom drawer.  It will be good enough as a refresher course, but ... Is there something better / more recent?
Also, I assume I am correct when I assume that macros in older languages still work just as well as newer languages.

PS.  I'll post this here - and I'm assuming it will be moved if ruled to be incorrect location or duplication of something elsewhere.   But  I haven't been able to find this here - easily accessible - and then I found an old file on writing macros on an old computer - incl SYS functions - and am posting it.   It is titled "DesignCAD 2000 Macro Developer's Reference",  and could well be somewhat out of date.

It is called a "hlp" file, but I have always assumed that older help files (like this?) were not available to me because of Windows 7 (and this despite the fact that I have tried a few times to downlaod the necessary files to permit them to open) , What's different with this one? haven't go a clue, lol.   

I realise there are links to such matters/webpages elsewhere, but to be honest, my computer often doesn't want to open them up;  and also I have had little joy getting the old oft-quoted "help" file on "writing macros" -  presumably because of Windows 7 - which I believe are just text (?)   Any chance that these could be posted as pdf files?

Attached is the entire multi-chapter file (zipped);   below is just the part-chapter on SYS functions (#0 to #999) :-

well starting with #0 to #170...
(more to follow on a second post).

Code: [Select]
The SYS function represents many different DesignCAD system variables. SYS(1), for
example, is the number of points set, and SYS(3) is the current layer. A list of the available SYS
variables and their valid ranges follows:

0 - Error checking (enable/disable) [0 = Off, 1 = On]  The error checking function is enabled by
default. This setting is only effective during the current macro.
1 - Number of points set [read_only]
3 - Current layer index [0-255]
4 - Current line type [0-12]
5 - Current line type scale [0<=x<=10e6]
6 - Current line width [0 <=x<=10e6]
7 - Current distance precision [-7<=x<=15]
8 - Current angular precision [-7<=x<=15]
9 - Number of entities in the drawing [read_only]
10 - Units of measurement for printing [1 = inches, 25.4 = mm, 2.54 = cm, 0.0254 = m]
11 - Printing scale (drawing units per unit of paper) [0<=x<=10e6]
12 - Default text size [0<=x<=10e6]
13 - Default text angle [-36<=x<=360]
14 - 2D Mode display grid type [0 = grid, 1 = tickmarks, 2 = dots]
15 - Display grid enable/disable [0 = off, 1 = on]
17 - Snap grid on or off [0 = off, 1 = on]
19 - Display grid size (distance between grid lines) [0<=x<=10e6]
20 - Snap grid size [0<=x<=10e6]
21 - Attribute display enable/disable [0 = Don't display, 1 = Display]
22 - Save parameters with drawing, enable/disable [0 = off, 1 = on]
23 - Mathematical or geographical angles [0 = Mathematical, 1 = Geographical]
24 - Fill wide lines enable/disable [0 = off, 1 = on]
26 - Edit current layer only [0 = off, 1 = on]
30 - Large cursor step size [0<=x<=10e6]
31 - Small cursor step size [0<=x<=10e6]
32 - Drawing unit size [0<=x<=10e6]
Note: Sys(32) is used internally by DesignCAD as scale factor for certain operations. Change it
only with extreme caution. Careless use can destroy a drawing's data.

34 - Selection flag [read_only: 1 = entities selected, 0 = nothing selected]
35 - Default number of sides for polygons [3-100]
36 - Silent mode (one for silent, zero for normal)
In silent mode, the screen does not automatically show the points you set, or update the drawing
screen as frequently. This mode is used for greater speed when your macro has complete control
of the program and you are not expecting user input.

37 - Cursor step consistent with Screen or Drawing [1 = Screen, 2 =Drawing]
38 - Text mirror enable/disable [0 = off, 1 = on] 3D Text Only.
If you mirror a piece of text with this setting turned on, the mirrored text is drawn backwards.

39 - Point mark type [1 = cross, 2 = cross+square, 3 = cross+circle, 4 = cross+circle+square]
40 - Crosshair enable/disable [0 = off, 1 = on]
41 - Rubberband type [0=none, 1=line, 2=2D-Box, 3=3D-Box, 4=Curve, 5=Bezier Curve,
6=Circle (center-radius), 7=Circle(diameter points), 8=Circle(3-point), 9=Arc(center-start-end),
10=Arc(3-point), 11=Ellipse, 12=Elliptical Arc, 13=Plane, 14=OrthoLine, 15=Cylinder, 16=Cone,
17=Truncated Cone, 18=Sphere, 19=Hemisphere, 20=Torus, 21=Tube, 22=RoundBox,
23=Angled 2D-Box]
This sets the type of rubberband-line that is displayed as points are set by the program or during
SetPoint.

42 - Parallel-2 offset distance [0<=x<=10e6]
43 - Dimension text spacing [0<=x<=2] Default is 1.0. Sets the gap between dimension text
text and arrows.
44 - Default Print Corner (for non-centered printing) [0=Upper Left, 1=Lower Left,
2=Upper Right, 3=Lower Right]
60 - Tick mark segments [0<=x<=10e6]
61 - Tick mark segment division [0<=x<=10e6]
71 - Currently active view number
80 - Number of entities currently selected [0-65000]
If any grid entities are selected, this number does not include grid lines, only the grid headers.
Not affected by PUTATTR. Sys(80) can be set to zero to clear the current selection set (nothing is
selected). Zero is the ONLY value that can be written to this sys() function.

Functions 90-99 are values for an entity just selected with the Entity statement. They are all
read_only values.
90 - Entity type
91 - Entity line type
93 - Entity layer
94 - Group number
95 - Solid number
96 - Selection status of entity [0 = not selected, 1 = selected]
97 - Line type scale
98 - Line thickness
99 - Number of points in the entity (or number of grid lines for a grid header entity)
101 - Dimension text format (same as sys(424) - changing one changes the other) [0 = decimal,
1 = fractional, 2 = feet and decimal inches, 3 = feet and fractional inches]
102 - Static dimensioning enable/disable [0 = off, 1 = on]

Static dimensions are drawn as individual arrows, lines and text. However, when you first draw a
static dimension, all the pieces still form a group, which will need to be exploded if you want to
edit an individual piece.
104 - Dimension arrowhead style [1-12]
106 - Dimension precision [-7<=x<=15]
110 - Coordinate system [-1 = left-hand, 1 = right-hand]
120 - Minimum X value in the drawing [read_only]
121 - Minimum Y value in the drawing [read_only]
122 - Maximum X value in the drawing [read_only]
123 - Maximum Y value in the drawing [read_only]
124 - Minimum Z value in the drawing [read_only]
125 - Maximum Z value in the drawing [read_only]
130 - Input window left boundary pixel location (-10000 to center)
131 - Input window top boundary pixel location (-10000 to center)
132 - Output window left boundary pixel location (-10000 to center)
133 - Output window left boundary pixel location (-10000 to center)
134 - Printer top margin [varies with media]
135 - Printer bottom margin [varies with media]
136 - Printer left margin [varies with media]
137 - Printer right margin [varies with media]
150 - Coordinate bar angle display mode [0 = degrees, 1 = grads, 2 = radians, 3 = degrees-
minutes-seconds, 4 = bearings]
151 - Coordinate bar distance display mode[1 = decimal, 2 = fractions, 3 = feet + fractional
inches]
152 - Scale mode for retrieving/copying drawings [1 = fixed, 2 = changeable]
160 - Printed height of drawing [read_only]
161 - Printed width of drawing [read_only]
162 - Print drawing centered [0=no, 1=yes]
163 - Print drawing fit to paper [0=no, 1=yes]
164 - Consider all drawing objects when printing [0=no, 1=yes]
165 - Print panel mark style [0=none, 1=corners, 2=outline box]
166 - Print panel numbers [0=no, 1=yes]
167 - Print output style  [0=wireframe, 1=quickshade, 2=smoothshade, 3=hidden, 4=hidden
(plotter), 5=hidden (scan-line)]
168 - Printed panel rows [read_only]
169 - Printed panel coumns [read_only]
170 - Print selected objects only [0=no, 1=yes]
« Last Edit: March 31, 2013, 09:32:18 PM by samdavo »

samdavo

  • Hero Member
  • *****
  • Posts: 1871
  • the trick is knowin...^ > v < - which way's up?
Re: SYS functions and Macro language
« Reply #1 on: March 31, 2013, 08:48:53 PM »
And Herewith SYS functions #190 to #999... 
Code: [Select]
190 - Selection Handle 1 X value [-10e6<=x<=10e6]
191 - Selection Handle 1 Y value [-10e6<=x<=10e6]
192 - Selection Handle 2 X value [-10e6<=x<=10e6]
193 - Selection Handle 2 Y value [-10e6<=x<=10e6]
194 - Selection Handle 3 X value [-10e6<=x<=10e6]
195 - Selection Handle 3 Y value [-10e6<=x<=10e6]
196 - Selection Minimum X [-10e6<=x<=10e6]
197 - Selection Minimum Y [-10e6<=x<=10e6]
198 - Selection Maximum X [-10e6<=x<=10e6]
199 - Selection Maximum Y [-10e6<=x<=10e6]
200 - Selection Minimum Z [-10e6<=x<=10e6]
201 - Selection Maximum Z [-10e6<=x<=10e6]
202 - Selection Handle 1 Z value [-10e6<=x<=10e6]
203 - Selection Handle 2 Z value [-10e6<=x<=10e6]
204 - Selection Handle 3 Z value [-10e6<=x<=10e6]
205 - View rotation about X axis
206 - View rotation about Y axis
207 - View rotation about Z axis
208 - View distance
209 - Projection mode [0 = perspective, 1 = parallel]
210 - The number of view windows in the active drawing
211 - The currently active view window in the active drawing
212 - The number of drawings currently open [read_only]
213 - The currently active drawing
220 - Toolbar visibility [0=off, 1=on]
221 - Main Toolbox visibility [0=off, 1=on]
222 - Snap Toolbox visibility [0=off, 1=on]
223 - Status Bar visibility [0=off, 1=on]
224 - Coordinate bar  visibility [0=off, 1=on]
225 - Viewing Toolbox visibility [0=off, 1=on]
226 - Color Toolbox visibility [0=off, 1=on]
227 - Material Toolbox visibility [0=off, 1=on]
228 - Line Style Toolbox visibility [0=off, 1=on]
229 - Ruler visibility [0=off, 1=on]
230 - Scrollbar visibility [0=off, 1=on]
231 - Info Box visibility [0=off, 1=on]
233 - Toolbox Icon style [0=small color, 1=large color, 2=small b/w, 3=large b/w]
240 - Drag as box [0=drag image, 1=drag outline box]
241 - Save preview  bitmap with drawing [0=no, 1=yes]
242 - Select object when created [0=no, 1=yes]
243 - Shade when created [0=no, 1=yes]
244 - Old-style command dialog bar [0=no, 1=yes]
245 - Show Tooltips [0=no, 1=yes]
246 - Draw text as outline [0=no, 1=yes]
247 - Group arrays when created [0=no, 1=yes]
248 - Use offscreen bitmap [0=no, 1=yes]
249 - 2D mode working plane [0=xy, 1=zy, 2=xz]
250 - AutoSave status [0=off, 1=on]
251 - AutoSave time interval (minutes)
252 - Display Grid extent
253 - 3D Display Grid Plane [0=xy, 1=zy, 2=xz]
254 - Draw text in current color [0=no, 1=yes]
255 - Draw text in current layer [0=no, 1=yes]
256 - Default text layer
257 - Text justification [0=left, 1=center, 2=right]
258 - Text style [0=normal, 1=bold, 2=italic, 3=bold italic]
259 - Text arc vertical scale
261 - Draw attributes in current color
262 - Draw attributes in current layer
263 - Default attribute layer
300 - Current drawing color, Red value [0-255]
301 - Current drawing color, Green value [0-255]
302 - Current drawing color, Blue value [0-255]
306 - Rubber-band color, Red value [0-255]
307 - Rubber-band color, Green value [0-255]
308 - Rubber-band color, Blue value [0-255]
309 - Grid color, Red value [0-255]
310 - Grid color, Green value [0-255]
311 - Grid color, Blue value [0-255]
312 - Point color, Red value [0-255]
313 - Point color, Green value [0-255]
314 - Point color, Blue value [0-255]
315 - Selection color, Red value [0-255]
316 - Selection color, Green value [0-255]
317 - Selection color, Blue value [0-255]
318 - Dimension color, Red value [0-255]
319 - Dimension color, Green value [0-255]
320 - Dimension color, Blue value [0-255]
321 - Background color, Red value [0-255]
322 - Background color, Green value [0-255]
323 - Background color, Blue value [0-255]
324 - Selection rubberband color, Red value [0-255]
325 - Selection rubberband color, Green value [0-255]
326 - Selection rubberband color, Blue value [0-255]
327 - Entity point color (point select mode), Red value [0-255]
328 - Entity point color, Green value [0-255]
329 - Entity point color, Blue value [0-255]
331 - Cursor color, Red value [0-255]
332 - Cursor color, Green value [0-255]
333 - Cursor color, Blue value [0-255]
334 - 3D cursor X color, Red value [0-255]
335 - 3D cursor X color, Green value [0-255]
336 - 3D cursor X color, Blue value [0-255]
337 - 3D cursor Y color, Red value [0-255]
338 - 3D cursor Y color, Green value [0-255]
339 - 3D cursor Y color, Blue value [0-255]
340 - 3D cursor Z color, Red value [0-255]
341 - 3D cursor Z color, Green value [0-255]
342 - 3D cursor Z color, Blue value [0-255]
343 - Smooth solids when shading [0 = off, 1 = on]
344 - 2D Drafting Mode status [0 = off, 1 = on] read_only
345 - Point Select Mode Status [0 = off, 1 = on] read_only
348 - Number of material textures in drawing [read_only]
349 - Current material texture
350 - Current material color, Red value [0-255]
351 - Current material color, Green value [0-255]
352 - Current material color, Blue value [0-255]
353 - Default text color, Red value [0-255]
354 - Default text color, Green value [0-255]
355 - Default text color, Blue value [0-255]
356 - Default attribute color, Red value [0-255]
357 - Default attribute color, Green value [0-255]
358 - Default attribute color, Blue value [0-255]
359 - Default dimension color, Red value [0-255]
360 - Default dimension color, Green value [0-255]
361 - Default dimension color, Blue value [0-255]
401 - Angular dimension prefix [0-5] [0 = None, 1-Custom1, 2=Custom2, etc.]
402 - Linear dimension prefix [0-5] [0 = None, 1-Custom1, 2=Custom2, etc.]
403 - Radius dimension prefix [0-5] [0 = None, 1-Custom1, 2=Custom2, etc.]
404 - Diameter dimension prefix [0-5] [0 = None, 1-Custom1, 2=Custom2, etc.]
405 - Chamfer dimension prefix [0-5] [0 = None, 1-Custom1, 2=Custom2, etc.]
406 - Coordinate dimension prefix [0-5] [0 = None, 1-Custom1, 2=Custom2, etc.]
407 - Angular dimension suffix [0-5] [0 = None, 1-Custom1, 2=Custom2, etc.]
408 - Linear dimension suffix [0-5] [0 = None, 1-Custom1, 2=Custom2, etc.]
409 - Radius dimension suffix [0-5] [0 = None, 1-Custom1, 2=Custom2, etc.]
410 - Diameter dimension suffix [0-5] [0 = None, 1-Custom1, 2=Custom2, etc.]
411 - Chamfer dimension suffix [0-5] [0 = None, 1-Custom1, 2=Custom2, etc.]
412 - Coordinate dimension suffix [0-5]
413 - Dimension layer [0-255]
415 - Dimension line position [0 = text and arrows inside lines, 1 = text inside, arrows outside]
416 - Dimension text location [0 = text aligned between arrows,
1 = text above and between arrows
2 = text below and between arrows
3 = text aligned to right of arrows
4 = text above and right of arrows
5 = text below and right of arrows
6 = text aligned to left of arrows
7 = text above and left of arrows
8 = text below and left of arrows]

417 - Angular text location [0 = above arrows, 1 = below arrows]
418 - Linear text direction [0 = parallel, 1 = perpendicular, 2 = horizontal, 3 = vertical]
419 - Angular text direction [0 = parallel to center of arc, 1 = horizontal]
421 - Progressive dimension text format [0 = 123.125, 1 = 123-1/8, 2 = 123' 1.5",
3 = 123' 1-1/2"]
424 - Dimension text format ( identical to sys(101) - changing one changes the other)
[0 = decimal, 1 = fractional, 2 = feet and decimal inches, 3 = feet and fractional inches]
425 - Progressive text direction [0 = along dimension, 1 = horizontal]
428 - Angular dimension text format [0 = degrees, 1 = grads, 2 = radians, 3 = DMS]
433 - Angular dimension precision [-7<=x<=15]
437 - Link inward arrows [0 = off, 1 = on]
438 - Dimension text size [0<=x<=10e6]
441 - Dimension tolerance text size [0<=x<=10e6]
442 - Overshoot of Dimension extension lines [0<=x<=10e6]
443 - Gap of Dimension extension lines [0<=x<=10e6]
444 - Length of Dimension extension lines [0<=x<=10e6]
446 - Text balloon radius [0<=x<=10e6]
447 - Dimension line offset for baseline dimension [0<=x<=10e6]
450 - Dimension arc prefix [0-5][0 = None, 1-Custom1, 2=Custom2, etc.]
451 - Dimension arc suffix [0-5][0 = None, 1-Custom1, 2=Custom2, etc.]
452 - Dimension arc text location [0 = above, 1 = below]
453 - Pullout text location [0 = inline, 1 = above, 2 = below]
454 - Progressive dimension text location [1 = above, 2 = below]
455 - Dimension chamfer text location [0 = inline, 1 = above, 2 = below]
456 - Dimension arc text orientation [0 = along center of arc, 1 = horizontal]
457 - Pullout text orientation[0 = parallel to arrow, 1 = perpendicular to arrow, 2 = horizontal,
3 = vertical]
458 - Progressive dimension text orientation[0 = horizontal, 1 = vertical, 2 = upside down,
3 = vertical reversed]
459 - Dimension chamfer text orientation[0 = parallel to arrow, 1 = perpendicular,
2 = horizontal, 3 = vertical]
462 - Dimension arrowhead scale [0<=x<=1.0e6] Length of arrowhead relative to text height
463 - Dimension arc precision [-7<=x<=15]
464 - Dimension chamfer precision [-7<=x<=15
465 - Dimension coordinate precision [-7<=x<=15
466 - Dimension diameter precision [-7<=x<=15
467 - Dimension radius precision [-7<=x<=15
468 - Dimension progressive precision [-7<=x<=15
469 - Dimension radius progressive precision [-7<=x<=15
470 - Prevent user from starting commands while macro is running [0 = off, 1 = on]
Use this function to prevent the user from starting a command while the macro is waiting for the
 user to set points. It is only effective until the current macro ends.

480 - Prevent entity types from being selected. Use repeated calls to disable more than one
 entity type. Set to zero to restore normal selection. This function is only effective until the
 current macro ends.
[0 clears, 1 disables lines, 16 disables circles/arcs, etc. See the PutAttr statement for a list of
entity type numbers.]

481 - Prevent drawing commands from accessing point information from objects on hidden layers.
[0 = off, 1 = on]
600 - Minimum X-value of the current display area [-10e6<=x<=10e6]
601 - Maximum X-value of the current display area [-10e6<=x<=10e6]
602 - Minimum Y-value of the current display area [-10e6<=x<=10e6]
603 - Maximum Y-value of the current display area [-10e6<=x<=10e6]
650 - Distance value returned by AngleDistance or LineDistance
651 - X-angle value returned by AngleDistance or LineAngle
652 - Y-angle value returned by AngleDistance
653 - Z-angle value returned by AngleDistance
654 - XY-angle value returned by AngleDistance
655 - Area value returned by Area or SurfaceArea or Volume
656 - Volume value returned by Volume command
657 - Interference check result
800 - Macro debug trace mode [0=off, 1=on] This function allows you to examine the behavior
 of all or part of your macro as it executes. The macro will print each line to the debug window as
 the line is executed.

996 - Enhanced Esc Key Behavior [0 (default)=Esc key behaves normally- if pressed during a
 drawing command (such as Circle or Line), it terminates that command and offers the chance to
 end the entire macro. If pressed in the middle of a batch of macro language operations, it ends
 the macro immediately.

1 (alternate)=Esc key opens "do you want to quit?" dialog box. Answer "No" resumes operation
 without skipping any commands. Answer "Yes" terminates the macro. If Esc is pressed during a
 drawing command (such as Circle or Line), that command is NOT terminated if the user
 answers "No"- you must either complete the command or end the entire macro.]

You can turn Sys(996) off and on for different parts of your macro. If you CHAIN to another
 macro, the current setting of Sys(996) is lost; the new macro assumes it is off unless there is
 code that specifically turns it on.

Note: Sys(996) does not interfere in any way with the operation of Sys(999), which is
specifically for Input statements.

997 - Save empty files [0=no, 1=yes]
998 - Document changed since last save [0=no, 1=yes]
999 - INPUT Exit condition: 0 for Enter or OK; 1 for Esc or Cancel

To use the SYS function in a macro, use it like you would any other function. For example, the
 following program segment checks to make sure at least three points have been set:

if sys(1) < 3 then
  setpoint "Set at least three points." 3
  end if

The SYS function is different from the other macro functions in that you can assign a value to
 most SYS variables. In other words, you can use the SYS function on the left side of the equal
 sign in an Assignment statement. For example, to set the current layer to layer number seven,
 you could use the following statement:

SYS(3) = 7

This is equivalent to using the macro language statement LAYER(7)=14.

When assigning a SYS function value to a variable however, it is necessary to place the variable
 on the left side of the equal sign. For example to set the current value for SYS(421) to the new
 variable v, you could use the following statement:

v = SYS(421)

SYS variables nine (the number of entities in the drawing) and 90-99 (entity characteristics)
 cannot be modified by assigning a value to the SYS function – they are read-only variables.
There are other read-only SYS variables; they are noted as such in the chart above.

When some of the SYS variables are modified, the DesignCAD drawing screen should be
 regenerated with the REGEN statement or the DesignCAD >Regenerate command (or the
 >RegenerateAll command to update all views). For example, if you change the view
 characteristics or the screen colors, the drawing screen must be regenerated for correct
 operation. The macro language interpreter does NOT check for valid SYS assignments or screen
 regeneration – if you change the SYS variables, your macro is responsible for all validity
 checking.

The SYS variables 90-93 can be used together with the ENTITY statement to read the type, line
 type, and layer of the entity referred to by the last ENTITY statement.
« Last Edit: March 31, 2013, 09:34:03 PM by samdavo »

MarkX

  • Hero Member
  • *****
  • Posts: 1221
  • Now where did I put my pencil?
Re: SYS functions and Macro language
« Reply #2 on: March 31, 2013, 09:08:39 PM »
I believe the *latest* macro reference manual is for version 17:

http://forum.designcadcommunity.com/index.php?topic=5.msg7#msg7

That's now 7 years old! I believe its in chm as well as hlp version, if that helps.

I've asked some variation of this question before: If I or someone were to make the manual available as PDF, HTML, or EXE format, would IMSI come down like a ton of bricks for copyright violation?

Mark



Bob P

  • Hero Member
  • *****
  • Posts: 927
    • Era Replica Automobiles
Re: SYS functions and Macro language
« Reply #3 on: April 01, 2013, 03:31:45 AM »
I don't know where I found these, but here are all the sys functions for V21.  Some new stuff too.

I converted them to PDF files, my preferred format for searching.

samdavo

  • Hero Member
  • *****
  • Posts: 1871
  • the trick is knowin...^ > v < - which way's up?
Re: SYS functions and Macro language
« Reply #4 on: April 01, 2013, 04:06:08 AM »
Thanks Bob
the next challenge should be writing a macro that sets each and every workspace parameter to our preference - dispense with "set workspace" - as I suspect you might have said once (?)  or was it prl? -  ...  (volunteers?)

prl

  • Hero Member
  • *****
  • Posts: 2943
  • DesignCAD Dabbler
Re: SYS functions and Macro language
« Reply #5 on: April 01, 2013, 06:39:17 AM »
Sam,

The latest macro hlp file is the one Mark mentions.  You can make programming more enjoyable with the PsPad text editor and the basiccad syntax/keywords package.  Also, maybe six to eight years ago on the Upperspace forum I post a method for linking the lastest macros??.hlp file to the editor so you can look up typical statements while programming.

Between the macros17.hlp file and the pdf versions Bob has posted, that is what I use. 



Edit:  I was wondering how old some of this PsPad editor stuff was.  Dempsey did a fine job saving the Upperspace topic.  Go here if interested in setting up the editor.  http://forum.designcadcommunity.com/index.php?topic=3373.msg18347   Still the same process today with same macros17.hlp file.

 
« Last Edit: April 01, 2013, 06:58:25 AM by prl »