Author Topic: When did DC3D stop using BASICAD?  (Read 199 times)

eben

  • Newbie
  • *
  • Posts: 1
When did DC3D stop using BASICAD?
« on: March 27, 2018, 04:02:37 PM »
DC3D used Basic in BASICAD in ver4 which I bought in a "store" back in the 80s. I started learning basic on a Timex Sinclair (which I soon took apart). Then did a lot with QB and then w/QB4. In the early 90s Allen Bradley made a high power variable frequency 3 phase motor drive programmable in basic. Hmmm.  Shortly thereafter c started to become popular, the c++ (whatever that was or is). I've read the documentation on DC3D macro language. Looks like c to me. I tried to learn c but it didn't make sense, still doesn't.  So.... what version of DC3D changed BASICAD from Basic to c?   and....are old pre c versions of DC3D available?

Bob P

  • Hero Member
  • *****
  • Posts: 1195
    • Era Replica Automobiles
Re: When did DC3D stop using BASICAD?
« Reply #1 on: March 27, 2018, 04:30:11 PM »
I used the last version of DC3D DOS (I think it was V5) and it ran all my bsc macros fine. (And I had well over 200 of them.)

bdeck

  • Hero Member
  • *****
  • Posts: 868
Re: When did DC3D stop using BASICAD?
« Reply #2 on: March 27, 2018, 08:20:13 PM »
Hi eben,

DC still uses basicad, but it changed significantly in version 7, (about 20 years ago) and it has been adding features ever since.

DC's macro language is a subset of typical Basics, but lacking:
   multidimensional arrays
   local variables
   elseif
   bitwise operators
   parameter passing to user defined functions

Otherwise it should be very recognizable.
Every version of DC ships with example macros.
Basicad has a list of predefined "commands," "statements," and "functions" by which it controls the drawing program.
They are documented in the SDK within the reference manual "Macros17.hlp" with examples.
Punctuation might be a little new to you.  Each curly bracket (used in "commands")  must be on its own line.
Any variable used as an argument for a command parameter within the curly brackets must be enclosed in square brackets.

For easier access, you should copy the lists of sys() variables and sys$() variables to separate text files from Macros17.hlp.
Or find them here, along with recent updates to the SDK: http://forum.designcadcommunity.com/index.php?topic=6248.0

A good way to learn the new dialect is to open an example macro in notepad and read it while looking at Macros17.hlp.
« Last Edit: April 01, 2018, 01:48:57 PM by bdeck »

Rob S

  • Hero Member
  • *****
  • Posts: 4496
    • Construction Estimating Program for General Contractors
Re: When did DC3D stop using BASICAD?
« Reply #3 on: March 27, 2018, 08:27:28 PM »
Well said, there was not really any change away from basic for the programming end of things

Entering the DC commands with parameters is different, and a good way to see all the possible parameters is to record a macro using the desired command, and then edit that and use it in your macros.

User since Pro-design

bdeck

  • Hero Member
  • *****
  • Posts: 868
Re: When did DC3D stop using BASICAD?
« Reply #4 on: March 28, 2018, 07:17:53 PM »
DC still uses basicad, but it changed significantly in version 7, (about 20 years ago) and it has been adding features ever

Not sure I remembered this correctly.

Version 7 was the first 16-bit Windows version of DC, which I never used except to access its printer drivers.

Somewhere between Version 7 and Version 11,  DC moved to Win32. 

Presumably that was when DC changed from 16-bit fixed-point storage to double precision floating point.

Can't remember if Basiccad's change from .bsc to .d3m coincided with DC's change to Win16 or Win32.

« Last Edit: March 29, 2018, 06:43:32 AM by bdeck »

Lar

  • Hero Member
  • *****
  • Posts: 2745
Re: When did DC3D stop using BASICAD?
« Reply #5 on: March 29, 2018, 08:04:27 AM »


My earliest macro files are ones that came with dcad, dated 20th April, 1995, has the BSC extension but are written in the D3M format (ie, they were rewritten in the new format and just saved, maintaining the original extension).


I started using dcad in 1991 and actually feel like there was a least 10 years of bliss before I had to start putting in those irritating-to-type curly brackets and could run a macro in a command. Time may fly when you having fun but it's doubled when you remembering fun, it seems.


Lar
« Last Edit: March 29, 2018, 08:12:30 AM by Lar »

bdeck

  • Hero Member
  • *****
  • Posts: 868
Re: When did DC3D stop using BASICAD?
« Reply #6 on: March 31, 2018, 01:29:51 PM »
I started using dcad in 1991 and actually feel like there was a least 10 years of bliss before I had to start putting in those irritating-to-type curly brackets...

Hi Lar,

Although I had used DC versions 7 and 11 for their win16 and win32 printer drivers, I didn't use any windows version of DC for drawing until I could find a way to make the new macro language restore the best features of Version 6.
http://forum.designcadcommunity.com/index.php?topic=322.msg1404#msg1404

That was some time around version 13, maybe 2002-2003? So it seems our memories are are somewhat in sync.

I know you were already up to speed at that time, because I recall gettiing helpful hints from you and others.

bd

PS:  I'm pretty sure there is unanimity on the curly brackets, but that aggravation is a small price to pay for the result.

Dr PR

  • Hero Member
  • *****
  • Posts: 5560
Re: When did DC3D stop using BASICAD?
« Reply #7 on: March 31, 2018, 10:53:41 PM »
It has been decades since I programmed in the BASIC language, but if I recall correctly it had some ambiguity with if/then, do/until, for/next and such loops that required an "end" statement to ensure the program would loop at the right place, especially if you nested loops one within another.

The curly brackets were from Pascal/C/ada and were a way to define the extents of a loop, subroutine or function unambiguously. So you had to add an extra curly bracket at the beginning of a section of code, but it allowed you to eliminate some other text at the end. And, of course, it gave a better unambiguous level of control, and allowed unambiguous nesting of functions.

After being bitten by runaway loops time and again I welcomed the better structure given by the curly brackets.

Phil
DesignCAD user since 1987