Author Topic: ActiveX Help for LISPin' folks ...  (Read 9077 times)

0 Members and 1 Guest are viewing this topic.

MP

  • Seagull
  • Posts: 17400
ActiveX Help for LISPin' folks ...
« on: May 15, 2005, 11:58:10 AM »
Responding to a challenge in this thread (thanks Chuck!) I wrote AxProps (use your logon name / password to download), a little utility that provides a simple gui interface to display all the properties and methods exposed to AutoLISP (via vla-*, vlax-get/put/invoke etc.) for a specified entity or object --



Double clicking an entry in the dialog will invoke the help system and display the appropriate help (if a topic for that item exists) --





Finally, when there is a difference in the result returned by vlax-get and vlax-get-property (the former generally returning data types native to AutoLISP, the latter data types native to ActiveX), it shows both results separate by a " | " (pipe) symbol --



Download --

AxProps.fas (use your logon name / password).

Command / Functions --

c:AxProps -- prompts you to to select an entity.
c:NAxProps -- prompts you to to select a nested entity.
AxProps, syntax: (AxProps x), where x is any valid object, ename or handle.

Feel crazy? Try this (axprops "1"). :lol:

I plan to add the ability to dump the whole mess to notepad so you can use the info in other ways, print off etc. Other ideas welcome, will try to incorporate ideas keeping with it's simple philosophy and lightweight footprint when I've the time.

Final note: I wrote this quick under Windows XP Pro and vanilla AutoCAD 2006. When this crashes on your system please provide the noted information, you'll be helping me out a lot. Thanks.

Enjoy.

:cheesy:
\|// Set goal. Experiment tirelessly until
|Oo| practice has become expertise.  Loop.
|- | LinkedIn | Dropbox

Mark

  • Custom Title
  • Seagull
  • Posts: 28683
ActiveX Help for LISPin' folks ...
« Reply #1 on: May 15, 2005, 12:20:39 PM »
Can't wait till Monday morning so I can try it out. Look's mighty nice there MP.
TheSwamp.org  (serving the CAD community since 2003)

MP

  • Seagull
  • Posts: 17400
ActiveX Help for LISPin' folks ...
« Reply #2 on: May 15, 2005, 12:27:56 PM »
Thank you Mr. Thomas.

:)
\|// Set goal. Experiment tirelessly until
|Oo| practice has become expertise.  Loop.
|- | LinkedIn | Dropbox

nivuahc

  • Guest
ActiveX Help for LISPin' folks ...
« Reply #3 on: May 15, 2005, 12:57:33 PM »
Kudos to you Mr. Puckett!

This will be a tremendous help to me, and many others.

:dood:

MP

  • Seagull
  • Posts: 17400
ActiveX Help for LISPin' folks ...
« Reply #4 on: May 15, 2005, 01:01:20 PM »
My pleasure Chuck, thank you for the idea.

\|// Set goal. Experiment tirelessly until
|Oo| practice has become expertise.  Loop.
|- | LinkedIn | Dropbox

nivuahc

  • Guest
ActiveX Help for LISPin' folks ...
« Reply #5 on: May 15, 2005, 01:09:41 PM »
Question for you... what are your terms of distribution on this gem? Am I free to share it with whomever I like? I honestly believe that something like this would make great shareware and that there are many people who would be willing to pay a small fee to use it (myself included). I think I know what your response to that will be but, for the benefit of others, would you care to elaborate a little?

MP

  • Seagull
  • Posts: 17400
ActiveX Help for LISPin' folks ...
« Reply #6 on: May 15, 2005, 03:43:15 PM »
I desire no fee; freeware for everyone. You may distribute as you please so long as there is no fee involved, that is: you may not charge anyone for its use or distribution, nor may you include it in distributions that are fee based. Despite trivial coding it's copyrighted (as noted on loading and invocation); you may not modify, reverse engineer or decompile it.

Clear as mud?

:)
\|// Set goal. Experiment tirelessly until
|Oo| practice has become expertise.  Loop.
|- | LinkedIn | Dropbox

CAB

  • Global Moderator
  • Seagull
  • Posts: 10362
ActiveX Help for LISPin' folks ...
« Reply #7 on: May 15, 2005, 04:43:13 PM »
Awesome routine you have there Michael. :shock:

Using ACAD2000 windows 2000
Code: [Select]
Command: _appload axprops.fas successfully loaded.


Command: AxPROPS.FAS 1.0 ( 2005 Michael Puckett).
Function: (AxProps x), where x is a valid ename, object or handle.
Commands: AxPROPS/nAxPROPS. Prompt (entsel/nentsel) for primary/nested entity.
Command:
Command: (axprops "1")
; error: bad argument type: stringp nil

Command: C:axprops
Unknown command "C:AXPROPS".  Press F1 for help.

Command: axprops

Select object: ; error: bad argument type: stringp nil

Command:


The initial dialog box comes up, but
When double clicking on an item, like Layer
I get the error. Select object: ; error: bad argument type: stringp nil
I've reached the age where the happy hour is a nap. ()
Windows 10 core i7 4790k 4Ghz 32GB GTX 970
Please support this web site.

Kerry

  • Mesozoic relic
  • Seagull
  • Posts: 11654
  • class keyThumper<T>:ILazy<T>
ActiveX Help for LISPin' folks ...
« Reply #8 on: May 15, 2005, 05:14:56 PM »
Command: (axprops "1")
Command: (axprops "2")
Command: (axprops "3")

Do what "I think" they are s'posed to.

Thanks again Michael for sharing.
Perfection is not optional.
Everything will work just as you expect it to, unless your expectations are incorrect.
Discipline: None at all.

--> Donate to theSwamp<--

MP

  • Seagull
  • Posts: 17400
ActiveX Help for LISPin' folks ...
« Reply #9 on: May 15, 2005, 05:19:41 PM »
Hi Alan, what does this

(setq helpfile (findfile "acadauto.chm"))

return on your system?
\|// Set goal. Experiment tirelessly until
|Oo| practice has become expertise.  Loop.
|- | LinkedIn | Dropbox

MP

  • Seagull
  • Posts: 17400
ActiveX Help for LISPin' folks ...
« Reply #10 on: May 15, 2005, 05:22:47 PM »
My pleasure Kerry.

:)
\|// Set goal. Experiment tirelessly until
|Oo| practice has become expertise.  Loop.
|- | LinkedIn | Dropbox

CAB

  • Global Moderator
  • Seagull
  • Posts: 10362
ActiveX Help for LISPin' folks ...
« Reply #11 on: May 15, 2005, 05:27:01 PM »
(setq helpfile (findfile "acadauto.chm"))
nil

I have acadauto.hlp with ACAD2000
no chm except for acet.chm
I've reached the age where the happy hour is a nap. ()
Windows 10 core i7 4790k 4Ghz 32GB GTX 970
Please support this web site.

MP

  • Seagull
  • Posts: 17400
ActiveX Help for LISPin' folks ...
« Reply #12 on: May 15, 2005, 05:32:05 PM »
Exactly what I thought, that what's making this utility toss a wobbly, it's designed to work on systems with the chm style help. Hmmm, can you send me your help file? I'll see what I can do.
\|// Set goal. Experiment tirelessly until
|Oo| practice has become expertise.  Loop.
|- | LinkedIn | Dropbox

MP

  • Seagull
  • Posts: 17400
ActiveX Help for LISPin' folks ...
« Reply #13 on: May 15, 2005, 05:44:01 PM »
Until I code alternately using AcadAuto.hlp (wild assumption that I can) I've recoded the program to deal with the failure to locate AcadAuto.chm more elegantly. I've uploaded the new version (read: "please download new version").

AxProps.fas (use your logon name / password).

Gotta head out in about 5 minutes, but I'll be back later tonight.
\|// Set goal. Experiment tirelessly until
|Oo| practice has become expertise.  Loop.
|- | LinkedIn | Dropbox

nivuahc

  • Guest
ActiveX Help for LISPin' folks ...
« Reply #14 on: May 15, 2005, 06:17:17 PM »
Quote from: MP
I desire no fee; freeware for everyone. You may distribute as you please so long as there is no fee involved, that is: you may not charge anyone for its use or distribution, nor may you include it in distributions that are fee based. Despite trivial coding it's copyrighted (as noted on loading and invocation); you may not modify, reverse engineer or decompile it.

Clear as mud?

:)


Just about exactly what I thought you would say. :keb:

You know, I'm completely amazed by this tool you've written. It's one of those things that, once you see and use it, you wonder why the folks at Autodesk never thought of including something exactly like it in AutoCAD in the first place. Am I the only one who feels that way? :|  

What a time/confusion/headache saver! :D