Full Listing of all vl- vla- vlax- functions?....

Full Listing of all vl- vla- vlax- functions?....

Anonymous
Not applicable
2,586 Views
5 Replies
Message 1 of 6

Full Listing of all vl- vla- vlax- functions?....

Anonymous
Not applicable
Hello:

I'm looking for a complete listing of all Visual LISP functions. It appears
that the help file within the Visual LISP ("Developer Documentation") editor
does not document all the functions...

Thanks,

Fred Schreck
KMD Architects
San Francisco, CA
0 Likes
2,587 Views
5 Replies
Replies (5)
Message 2 of 6

Anonymous
Not applicable
Fred,
IMO a full listing would do you little good. The vla- functions are
object related. Specific vla functions are only applicable to those
objects. The best way to find the correct vla-function to use and
the arguments that it needs is to use the vlide help under the
activex and vba section, open the object model and click on the
object(s) that you wish to manipulate. Each object has properties
and methods. If an object has a length property, for example, then there will
be two functions associated: (vla-get-length ...) and (vla-put-length...)
The first argument to all the vla functions must be the vla-object that
the vla function is to access. The rest of the arguments are described
in the help files.

Does that help?

Regards,
Doug

"Fred Schreck" wrote in message
news:[email protected]...
> Hello:
>
> I'm looking for a complete listing of all Visual LISP functions. It appears
> that the help file within the Visual LISP ("Developer Documentation") editor
> does not document all the functions...
>
> Thanks,
>
> Fred Schreck
> KMD Architects
> San Francisco, CA
>
>
0 Likes
Message 3 of 6

Anonymous
Not applicable
Doug:

This helps...thanks for your feedback! As a long time AutoLISP programmer,
I'm new to the whole vl-, vla-, etc. function scene. Any good code example
sources out there you (or anyone else) would care to recommend?

Fred

"Doug Broad" wrote in message
news:[email protected]...
> Fred,
> IMO a full listing would do you little good. The vla- functions are
> object related. Specific vla functions are only applicable to those
> objects. The best way to find the correct vla-function to use and
> the arguments that it needs is to use the vlide help under the
> activex and vba section, open the object model and click on the
> object(s) that you wish to manipulate. Each object has properties
> and methods. If an object has a length property, for example, then there
will
> be two functions associated: (vla-get-length ...) and (vla-put-length...)
> The first argument to all the vla functions must be the vla-object that
> the vla function is to access. The rest of the arguments are described
> in the help files.
>
> Does that help?
>
> Regards,
> Doug
0 Likes
Message 4 of 6

Anonymous
Not applicable
Doug:

I found a listing of vla- functions in the LISP file C:\Program
Files\Autodesk Architectural Desktop 2004\Express\lspdata.lsp. There are
over 1000 of 'em...and I'm sure there are more out there.

I'm attaching the list to this message, in case anyone is interested.
Sorry, no documentation included.


Fred
0 Likes
Message 5 of 6

Anonymous
Not applicable
Hi Fred,
Been busy with making a living. 😉

Some issues you may be interested in:

1) VLA- functions primarily concern autocad objects only.
2) They may or may not work with ADT objects. In general, I have found
that if the ADT object has an identical name for the property or method as
an AutoCAD object, then the related vla- functions seem to work.
3) The list you show below is accessible by typing vla- in the appropos
window.
4) Knowing the list does not give you a hint of which functions apply
to which objects and how many arguments are required and optional.
For those issues, you will need to use the VBA and Activex help files
and the Object Model.
5) Since you are asking this question in the ADT customization NG, I
assume that you want to access the architectural objects. To find out
the objects an properties applicable to those objects, you might peruse
the ADT customization help files and specifically their object models.
There are properties and methods that I wish were exposed, that are not.
ADT authors have promised more later. It appears that the ADT authors
are somewhat protective of their product and don't want us to corrupt the
data structure.
6) To access the properties and methods of ADT, one recommended
method is to use vlax-import-type-library to populate autocad with
functions that operate on those objects. I have found however that
using vlax-get, vlax-put, vlax-invoke, and vlax-invoke-method are
sufficient and preferrable to having hundreds of new functions in
the document namespace. An added advantage to the vlax... functions
other than vlax-invoke-method is that I/O with LISP does not need
to involve variant-value, safearray->list, safearray-fill...
7) VLA- functions often require variants or safe-arrays as arguments.
While many data types automatically coerce to variants, list data, such
as for points, do not. Use the (vlax-3d-point.. function to convert
list data to points. For point lists, such as for coordinate data, the
lists are flat and not nested. For instance:
'((0 0 0)(1 1 0)) would be how you would expect the point list to be
entered but '(0 0 0 1 1 0) is how it needs to be prepared for functions
asking for point lists.

The best approach to programming is to play experimental scientist
and test each little step, building the program 1 step at a time.

The customization newsgroup is a good place to learn. The VBA
newsgroup can also be ironically a good place to learn vlisp if you
can learn to translate.

Regards,
Doug


"Fred Schreck" wrote in message
news:[email protected]...
> Doug:
>
> I found a listing of vla- functions in the LISP file C:\Program
> Files\Autodesk Architectural Desktop 2004\Express\lspdata.lsp. There are
> over 1000 of 'em...and I'm sure there are more out there.
>
> I'm attaching the list to this message, in case anyone is interested.
> Sorry, no documentation included.
>
>
> Fred
0 Likes
Message 6 of 6

Anonymous
Not applicable
Doug:

Thanks for your advice, it's very much appreciated!

Fred
0 Likes