🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.cad.microstation.programmer
Article #2

Re: JMDL versus objectARX

#2
From: Chris Zakrewsky
Date: Tue, 02 Mar 1999 00:00
137 lines
7559 bytes
Hi Alex,

It's interesting to see how much you've missed during
your excursion to MDL...

For one, mdl is a byte-Pcode, but properly written
MDL program mostly relies on build-ins, which means
you spend most of time in NATIVE code.

For the second, native code modules existed prior
to DLMs (DLLs). They are called External Program Interface,
and they were introduced in uStn v4.0, along with MDL,
many, many years ago.

For the third you have missed just about everything
about uStn state machine AND event driven environment.
mdlState_stuff is just a teeny weeny bit of it,
and there are tons of events which make a real MDL
context.

PS, you are right on one thing, MDE. It's a stone-age.

HTH
-- 
Regards,
/Chris Zakrewsky



Keischar.Seah <keischar.seah@berlin.snafu.de> wrote in article <7bh1ef$rp6$1@unlisys.unlisys.net>...
> 
> ----------
> >From: "Alex Januszkiewicz" <alexj.intelcad@shaw.wave.ca>
> >Newsgroups: autodesk.autocad.customization,autodesk.autocad.r14general
> >Subject: Re: AutoCAD 2000 Beta is mine (ObjectARX vs MDL)
> >Date: Sam, 27. Feb 1999 6:37 Uhr
> >
> 
> >Mark,
> >
> >Here is couple of points:
> >
> >1. ObjectARX applications are windows DLLs, compiled with MSVC++ to true
> >machine code, therefore as fast in calculations as AutoCAD itself. MDL is
> >using Microstation "compiler" (he, he) that in fact translates programmer's
> >code into pseudocode (not machine code), this in turn is INTERPRETED by
> >Microstation MDL interpreter. Difference in performance is humongous, jet
> >vs. horse. 
> >
> >Recently I wrote MDL program to allow hidden line plotting from
> >Microstation, that resembles point and shoot plotting with hidden lines
> >from AutoCAD (normally to do a quality hidden line plot you have to create
> >hidden line file (takes few minutes) then open it and plot). There is in
> >MDL function that can be used by programmer to process hidden lines, but it
> >takes ages for todays large models to get processed by it. My project
> >seemed doomed, but fortunately, after my 7 years of MDL struggle, Bentley
> >came up with external DLL (machine code, what a relief) that can be linked
> >to the program and process hidden lines in reasonable time. Funny enough,
> >my program does now hidden lines faster then built in Microstation 95 hline
> >command (still much slower then AutoCAD).
> >
> >2. ObjectARX uses most modern and extermely powerfull langauage: C++. It
> >allows to integrate into your application MFC, that in itself opens
> >unlimited possibilities. The classes are well, professionally designed,
> >very reliable.
> >
> >MDL is "C like" interpreter, not always following rules of C. Some things
> >are low quality and any programmer will say "stupid", example: MDL library
> >function declared as boolean can return three values !!! TRUE, FALSE or
> >ERROR!!!!
> >I would be ashamed to write it in the documentation: how the heck boolean
> >can have more then 2 values. Somebody who wrote the thing probably doesn't
> >know who BOOL was or what boolean math is. This is only one example of
> >inconsistencies.
> >
> >3. ObjectARX allows for creation of custom objects. Anything you can
> >imagine can be designed as custom object. My most recent project was much
> >needed in AutoCAD true 3D curve. From it I developed "reinforcement bar"
> >object that behaves very much like a real one, you can bend it on screen
> >with grips, it can be displayed as single line, 3D etc. AutoCAD treats it
> >as one of it's own elements. Another derived object is 3D steel beam. All
> >these objects contain only information that defines them, graphics must be
> >defined by the ObjectARX application and submitted to AutoCAD graphics
> >pipeline. Properly defined custom objects take very little space in DWG
> >file even if they are represented on screen by complex graphics. Can you
> >imagine complex custom object recalculating it's 3D graphics on screen
> >100/second as you drag it on screen? It's regular thing that you do with
> >ObjectARX. MDL with its interpreted math would simply choke on it.
> >
> >With MDL something mimicking custom objects can be done (I do lot of MDL
> >programming for PDS Frameworks that itself is MDL application, and while
> >Frameworks is loaded, Microstation lines with linked application data
> >appear on screen as steel beams, columns etc. I did some programming using
> >MDL's transient element graphics functions to build something like custom
> >object, the bottom line is though: Microstation line element remains line,
> >is not becoming smart steel beam, grating, window, door, wall etc. Until
> >AutoCAD custom objects arrived, the possibility of using transient elements
> >and graphics was a superior feature in MDL that was painfully missing in
> >ADS.
> >
> >4. User interface design: For ObjectARX you can skip cumbersom DCL and jump
> >into MFC to use latest in UI programming. With MSVC++ 5.0 dialogs can be
> >design on screen and hook functions are automatically defined.
> >
> >To design dialogs for MDL you can use Microstation MDE interface. It allows
> >on screen design, but it's quite crude and very akward. Still it's step
> >forward from the times when I had to define them by coding.
> >
> >5. AutoCAD event driven programming by means of reactors is much more
> >powerful than programming by means of mdlState functions. By deriving
> >classes from AutoCAD reactor classes you can control tons of database
> >events, editor events, linker events and events at level of object and
> >entity.
> >
> >I've been programming in AutoLISP since 1985, ADS since 92, ARX since 95,
> >MDL since 92. Working for both systems in past 7 years I can tell that
> >ObjectARX is absolutely superior to MDL. It requires more skills, as being
> >true DLL is less forgiving and sloppy programming can do a lot of damage.
> >It gives skilled programmer the power that is limited only by his/her
> >imagination.
> >
> >I hope this clarifies my preference. I'm not biased here, there are lots of
> >REAL reasons, some of which I just mentioned, why ObjectARX is far superior
> >to MDL. Still, I do program in MDL whenever there is a need to program for
> >Frameworks or Microstation, this is the only professional tool for that.
> >
> >
> >Regards,
> >
> >Alex Januszkiewicz
> >alexj.intelcad@shaw.wave.ca
> >http://www.cal.shaw.wave.ca/~intelcad
> 
> Say it isn't so ...
> How does JMDL compare ? I hear it's still very incomplete.
> TIA
> 
Technical Details
Message-ID: <01be6507$ce6255c0$656f7a7b@kitty>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <7bh1ef$rp6$1@unlisys.unlisys.net>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 10ff91,dcbed0126ec9f280,start
X-Google-Attributes: gid10ff91,public
X-Google-Thread: 10fb44,6ff702f6f781d7c0
X-Google-Attributes: gid10fb44,public
X-Google-Thread: 100c0f,dcbed0126ec9f280,start
X-Google-Attributes: gid100c0f,public
From: "Chris Zakrewsky" <chris@cadperf.se>
Subject: Re: JMDL versus objectARX
Date: 1999/03/02
Message-ID: <01be6507$ce6255c0$656f7a7b@kitty>
X-Deja-AN: 450556063
Content-Transfer-Encoding: 7bit
References: <7bh1ef$rp6$1@unlisys.unlisys.net>
X-Sender: s-65941@dialup174-1-22.swipnet.se
Content-Type: text/plain; charset=ISO-8859-1
X-Complaints-To: news-abuse@swip.net
X-Trace: nntpserver.swip.net 920419038 130.244.174.22 (Wed, 03 Mar 1999 00:57:18 MET DST)
Organization: A Customer of Tele2
MIME-Version: 1.0
NNTP-Posting-Date: Wed, 03 Mar 1999 00:57:18 MET DST
Newsgroups: comp.cad.microstation.programmer,autodesk.autocad.customization,autodesk.autocad.r14general