To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.cadOpen lugnet.cad in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 CAD / 5270
5269  |  5271
Subject: 
Re: LCAD02?
Newsgroups: 
lugnet.cad
Date: 
Mon, 15 Jan 2001 22:20:29 GMT
Viewed: 
798 times
  
Expanding info available...

Exsting L_Draw/MLCAD is reffered to as LCAD(97)

Line types:
----------------------------------
The Line types are as follows.

LCAD 02 Line Types.
Line Type 0  : Comment/ Meta - AS LCAD(97) with additonal Meta commands.
Line Type 1  :  Part inline? AS LCAD(97)
Line Type 2  : Line AS LCAD (97)
Line Type 3  : Triangle AS LCAD (97)
Line Type 4  : Quad AS LCAD (97)
Line Type 5  : Optional Line. AS LCAD (97)

Line Type : - 6 Point.
LCF Syntax : 6 <x y z>
Indicates a single point at cordinates shown
(Intended for use as a means of specifying rotation and postional centers.
with additonal meta commands.)

Line Type : - 7 Enhanced Line.
LCF Syntax:  <x1 y1 z1> <x2 y2 z2> <fillstyle>
Draws a line in an appropraite fill style between the two cordinates.
fillstyle is a 16 bit binary number indicating the dashing and or arrows
heads to use.

Line type : - 8 Texture Map
LCF Syntax : - 8 <x1 y1 z1> <x2 y2 z2> <url>
Will texture map the image contained within the file pointed to by the url.
This could be a local file, or file held on a remote site? Please note that
VRML 97 spec used concepts of URN: see ISO (?)

Recomendation that a  URL prefixed by :
'brickshelf:' shall be a short form for the Brickshlef URL.
'partsref :' shall refer short ref the PartsRef archive on Lugnet.
'lcad02:' shall be a short ref to any future archive of images held on Ldraw.org

Suppourted formats for texture mapping shall be BMP and JPEG.
The two cordinates specify the top left and bottom right of the recatangular
area to which the image is to be mapped. If the cordinates are such that the
top left corsdinate specifed is to the right of the botoom right cordinate
then the image shall be approptiately reversed.

If the image at the url is is bigger then the area specifed then the image
shall be scaled to fit.  Conversly if the image is smaller than that
specirfed it will be scaled up to fit the area specified.

NB Texture maps for use with LCAD will need a special Pallete entry to
indicate transparency?

The image project shall be dual sided ie the image can be seen from both
sides(If viewed from mthe wrong side it shall appear reversed.)

Line Type : - 9 Sticker Map
LCF Syntax : - 9 <x1 y1 z1> <x2 y2 z2><bgcolor><url>
behaviour as for Line type 9  but if viewed from the worng side the non
transparent areas shall be shown as the color specified in <bgcolor>

Line Type : 10 - Arc
LCF Syntax: - 10 <x1 y1 z1> <x2 y2 z2> <x3 y3 z3>

Draws a 3D arc between the first two cordinates specfied.
NB The Arc is drawn under the assumption that the first two cordinates lie
on the circumference of a circle whose centere is specfied in the thrid
co-ordinate.

Line Type : 11 - Circle Sector.
LCF Synatx : 11 <x1 y1 z1> <x2 y2 z2> <x3 y3 z3>
The specifers are the same as for linetype 10. However instead of drawing an
arc around the circumfernec the sector described by the three points is
solid filled in the current color?

Line Type : 12 - Circle Sector Clipped.
Specifers as for line type  and 10,11
However only the portion of the Circle sector described which lie 'above'
the straight line linking x1 y1 z1 with x2 y2 z2 shall be solid filled.

Line Type : 13 - Postioned text
LCF Synatx : 13 <x1 y1 z1> <dirs> <size><fontname> <message>

Shall draw text from the cordinate specifed using the vectors in dirs to
orientate itself. The origon for text is assumed to be the bottom left of
the first charecter.  This means that if the y-vector in dirs is pointig
downward the text will be upside down. Simarly if the x-vector is pointing
'left' the n the text shall be mapped as a mirror image.

<size> indictaes in points the size of text to be used.
<fontname> shall be a URL pointing to a font to use.. Supported font types
are:   Adobe Postscript fonts
       Turetype?
<message> shall contatin the text to be postioned.>

Note: If the text is included in an LCF file that is then used in a line
type 1 in another file then the text shall be suitable scaled along with the
other items and line types in the file.

14-120 <reserved> Although I inteded that 110-127 be used for raytrcaing related functions.


Line Type : 119 - Camera ?- Ie viewpoint!!
LCF Syntax : 119 <x1 y1 z1> <x2 y2 z2> <num> <f.o.v>
Speirfes that a viewpoint exists at The cordinates speicifed that looks at a
the second cordinate specifed. This is used to orientate the camera. The
<num> field is included so that multiple cameras can be included in an LCF
file. An error should be generated if more than one camera with same num
field is encountered in the LCF file....   The f.o.v field species the field
of vison for the camera.. (I'm not a photgrpaher so if someone else could
give an xplation?)

Line Type : 120 - Fog
LCF Syntax : <x1 y1 z1 > <fog-r> <outer-r> <percent fog>

Shall cause the viewable area inside the speher specifed by <x y z> and the
radi to be exhibt appropraite charectristics in terms of light scattering or
blur effects as if fog was present in that area.

Nested fog has problems?

Line Type : 121 - Infinte Light.
Line Type : 122 - Light Source
LCF Syntax : 122 <x1 y1 z1> <x2 y2 z2> <r>
Position a point light source at the first co-ordinate looking at the second
cordinate. The <r>adius specifes ?

Line Type : 123 - Celing
Line Type : 124 - Floor
Line Type : 125 - Sky
Line Type : 126 - Backdrop

Line Type : 127 - <reserved> - Possibly useful to flag deletions in editors?

Line Types with Top bit set are specfic to the parts/primitiive library in
use and are essentialy are a shortcut (line 1)

For LCAD02 - Lego(R) Parts Lib this shall be.
Line Type : 128 Subassembly. - NB This shall be common to all Libs.
Line Type : 129 Model.
Line Type : 130 Baseplate.
Line Type : 131 Minfig Head.
Line Type : 132 Minfig Torso.
Line Type : 133 Minfig Legs.

New Meta Commands
-----------------
0 BUILD CLASSIC/CSG..   Change between classic LCAD(97) consturction or CSG
contruction. NB This is dependent on BFC spec..

0 LINK <url>- Attach a URL to the group of parts,quads whatever added since
the last 0 LINK or beginning of file..  (Essentialy this could be a link to
an additonal model,sub assembly or link to a file of additonal information..)
If these parts are doubled cliked in viewing mode in a suitable enabled
LCAD02 viewr than a broweser will be callled to display the contents at the
URL specifed in <url>.

0 LIGHTING ON/OFF/AMBIENT - Change interpretation of Line types  121 & 122

0 QUALITY <num>           - Change Quality of rendering processing.. Will
cause some linetypes to be ignored until next 0 QUALITY.

0 SCRIPTED      - Indictaes that the next portion is writen in a scripting
format and not LCAD02.. This is to allow for conversion tool 'specials' and
LDS compiler scripts..
0 SCRIPTEND   - Indicates the end of a script.

Or would it be more sensible to allow a Meta command to group line types
command which had identifer names and then have META commands around it
setting the VARS?

e.g 0 USING X IS 0>100 IN 20
   0 USING Z IS 0>100 IN 20
   1 <X> 0 <Z> 1 0 0 0 1 0 0 0 1 stud.dat...
   0 RELEASE Z,X

But that does mean LCAD starts to look like FORTRAN ;-)

LCAD Parts Lib Structure.
-------------------------
LCADLIB\ - Top Level for all parts Libs. - Individual parts Libs stored
below this.
LCADLIB\P\ - Primitves common to all Part libs.

LCADLIB\Plugin\Created File\... - A directory used to stor file output by
various tools or plugins to an LCAD02 viewer/editor.

LCADLIB\LDRAW\P\       Primitves common to all L-Draw parts.
LCADLIB\LDRAW\P\STUDS\ All LDraw stud types...

LCADLIB\LDRAW\Parts\   All Current LDraw parts... Recomend This use
subdirectories identical to Partsref?

Also recomend LCAD02 use a Taxanomic naming scheme for parts.. Could be dir
structure although a Parte Registry might be a good idea!..

Note that they will be specifc directories in additon to Partsref for
.\Baseplates.   - Used by linetype 130   Lego(R) Baseplates...
.\ Minfigs      - used by linetype 131   Complete Minfigs..
.\ Minfigs\Heads- used by linetype 132
.\ Minfigs\Torsos- Torso Patterns used in constructing minifig torsos for
Line type 132

LCADLIB\LDRAW\Unoffical\ Ring fenced directory for non-approved parts or
devlepment work.

Recomendations for LCAD Editors...
----------------------------------
Suppourt for image processing plugins?

Plugins could be of various types:

Procedural construction-  Auto helpers for common part subassemblies.
Rendering systems-        interfaces to particular rendering engines
Conversion tools-         To aid saving and/or loading of objects from other
modellers or CAD systems.

I would also suppourt an LCAD automation interface or API... but not via
COM(I would prefer CORBA as this would enable co-operative LCAD projects :-) )

---

This is by no means a PROPER stansard yet but any comments are welcomed...

If explantory files are need to help clarify a point.. I'll try and write some.

And of course I'll need to find a site to host the LCad02 spec...(LUGNET?)

Alex



Message is in Reply To:
  LCAD02?
 
Current De-facto LCAD(97?)standard (ie L-Draw/MLCAD)is lacking in some areas namely: No suppourt for curves or curved surfaces natively. No Text postioning. No Texture Mapping ( Although Leocad does suppourt it and imports LCAD .DAT) Rather than (...) (24 years ago, 15-Jan-01, to lugnet.cad)

5 Messages in This Thread:



Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR