The DataCAD Developer Network (DDN) is an online resource for information and support for DCAL® (DataCAD Applications Language) developers as well as anyone interested in creating fonts, toolbars, hatch patterns, or linetypes for use in DataCAD.
While translating some old code to new, I came across a problem in the URecords.pas file. The declaration for entar3 is missing the matrix for location. There is no way to locate the entity on drawing. The file is dated 7/26 so it should be current.
As a matter of fact, the modeling matrix appears to be missing from a number of the 3D entities. How do you tell the entity where it is placed?
All modelling matrix: found the new place in record - look at bold line above
entity = packed RECORD
enttype: byte; //aSInt;
ltype: aSInt; // For embedded linetype to work due to parameter passing
Width: byte; //aSInt;
spacing: aFloat;
ovrshut: aFloat;
attr: byte; //aSInt;
color: aSInt;
visLvl: byte; //aSInt; { visibilty level (in symbols) }
addr: entaddr; { pointer to this entity }
addrSpc: adsmem;
Next: entaddr; { pointer to the next entity }
prev: entaddr; { pointer to the previous entity }
lyr: lyraddr; { layer this line is on }
user0: aSInt;
user1: aSInt;
user2: aSInt;
user3: aSInt;
ss: aSInt; { selection sets that this is a member of (bitmap) }
frstAtr: atraddr; { pointers to the list of }
lastAtr: atraddr; { attributes for this entity }
index: longint; { global index - number }
WallIndex: aSInt; { index within a wall }
lastWallIndex: aSInt;{ Maximal absolute wall-index }
last: boolean; { true if this is the last entity in a shape }
hatched: boolean; { true if entity is ass. hatched}
o2cmaterialindex: Word;
Matrix: modmat; //this is the modelling matrix
dummy: string [16]; { skip bytes for later use }
CASE aSInt OF