KitCAD225 with a very basic 3D option allows users to load single KPD files that each contain KitCAD1 items onto a single page for display. Each KPD file can be viewed in 3D lines within limits.

NOTE: The JavaScript version of Kp.bpl does NOT automaticly refresh on changes to KP2 or KPD files

This example uses JSON to store KPD and KPT file information, the non-JSON example is found at KitCAD225_kgc_exploit_array

See the KitCAD22x_KGraphicControl.htm examples page for details and links to this and other live working demostrations.


Example:

3D Ads by KitCAD

NOTE: Links above are disabled.



The example above is created using the following 3.2 Hypertext markup language:

<script><--
var kp2kpd2 = new Object();
kp2kpd2.data = function (section, key, val) { var json = ( { "File" : [{"Items":1,"i1":"null"}],
"null":[{"Extension":"0","Objects":1,"RealWidth":1,"RealDepth":10,"RealHeight":1,"RealHeightFrom":0,"RealPosX":1,"RealPosY":1,"RealRotation":0,"Scale":30,"Top":0,"Left":0,"Width":0,"Depth":0,"Height":0,"HeightFrom":0,"FixX":0,"FixY":0,"Show":"1","Hide":"0","Fixed":"0","RotateBy":0,"Comments":"fix bug for KitCAD2.25","AddOns":"NULL","FillColour":0,"LineColour":0,"BmpFile":"C:\\Program Files\\Kitchen\\Objects\\Bitmaps\\STD\\null.bmp"}] } );
if(key<0||key>=0){key = "i" + key;}
var getdataloc = section;
var getdatatmp = val;
try{ getdatatmp = eval("json[section][0]." + key); }catch(error) { getdatatmp = val; }
return getdatatmp; }
//-->
</script>

<table width="250" height="250" cellpadding="5" cellspacing="1" border="1"><tr><td>
<div id="KGraphicControl0" name="KGraphicControl0" style="position:relative;">
<script src="./TObject/TPersistent/TComponent/TControl/TGraphicControl/KGraphicControl.js"></script>
<script src="./TObject/TPersistent/TComponent/TControl/TGraphicControl/KGraphicControl_3d_cpp.js"></script>
<script src="./kgc_exploit.js"></script> <!-- // kgc exploit b1.r1.v1.ed1 //-->

<script><!-- //

kgc_exploit_load( /* ID node                                       */                           0
,                           /* Top px                                        */                            0
,                           /* Left px                                        */                            0
,                           /* Radians rotation                          */                            0
,                           /* Depth mm                                   */                        600
,                           /* Width mm                                   */                      1000
,                           /* Height mm                                   */                        903
,                           /* HeightFrom mm                           */                            0
,                           /* view 3D or 2D                             */                            1
,                           /* debug mode off                            */                            0
,                           /* file type KPD                               */                            "bc2di_1000w_600d_903h_0hf.kpd"
,                           /* document Element                        */                            this
,                           /* document Type                            */                            "auto"                                                                                   );
kgc_exploit_link( /* Element Title                                 */                            "<h3>&nbsp;Base Cabinet<\/h3><h1><br\/><br\/><\/h1>"
,                           /* Element Text                                */                            "&nbsp;2 Doors, Infills or Panels, and Bench<br\/>&nbsp;"
,                           /* Element Link                                */                            "javascript:i3foie(\'"                        + ID +                          "\');"
,                           /* Element Anchor                           */                            "http:\/\/www.KitchenPages.com\/"                                        );
function i3foie(e){ /* Element OnClick                         */                             return;                                                                                  }
//--></script></div>
</td></tr></table>

 

The above can be 3.2 Hypertext markup language Elements which are described as follows: A grid of [TABLE] Element is defined which contains a [TabRETURN] Element to describe vertical returns, and of each contains characters of horizontal text defined by [TabDETERMINER] to describe white-space/s that encloses a [DIV] Element named 'KGraphicControl0'.

Within the [DIV] Element named 'KGraphicControl0' in the example above contains [SCRIPT] Element Nodes that write values onto the [DIV] Element at the [COMMENT] markup.

The example uses the default KGraphicControl.js to write load scripts required to operate 2D views before the whitespace infront of [COMMENT] or other markup above, followed by an addition of KGraphicControl_3d_cpp.js which adds 3D line renderings to and kgc_exploit.js scripts functions within load to runtime phrase. After the whitespace [COMMENT] markup is the runtime example function caller for the file named kgc_exploit.js which in this case is the runtime required to produce the above result rendering. An extra script for 3D is written but can only be accessed by calls after the runtime phrase has finished.

kgc_exploit_load is the function where the default values are first defined, after which the script automaticly calls for the KPD file using JScript or JavaScript XmlHTTPRequest methods, and showing the rendered result in 3D ontop or onto of the [DIV] Element.

kgc_exploit_link is the function where the default values for 3.2 Hypertext markup language are defined, after which the script writes the values onto the [DIV] Element.

function i3foie(e) is simply a VOID function which is called by a user clicking on the 3.2 Hypertext markup [ANCHOR] Element that was written onto the [DIV] Element. The value of e is '0' while the VOID aka ball is returned to the webbrowser at end of i3foie function.

NOTE: Advanced users and web pages may create further nesting of [TABLE] and [DIV] style of Elements is used to display the text of '3D Ads by KitCAD', and is not included in the Hypertext markup language used as the description above.

NOTE: JScript and JavaScript XmlHTTPRequest Methods differ, and XHTML1 ELEMENT management may or will differ from the example above

NOTE: JScript and JavaScript XmlHTTPRequest Methods may or may not be supported in commercial use/s. CGI and other methods may be employed to generate 2D or 3D renderings.

NOTE: kgc_exploit.js supports Netscape Communicator browsers by 3rd party script/s. See jsdhtml32 subdirectory for more information.

NOTE: This page when viewed with IE 8 or better - will be rendered using IE 7 stardards compatability.

 

Non-JSON version, see Array Script example

To create ARRAY Script see the Make Array Script example

To change ARRAY run-time result see the Array Script play-thing

 

This page was written for KitchenPages.com and offline uses. (C)Copyright 2006-2007. All rights reserved.
Updated 2010 for IE8 compatability setting to IE7 Standards.