Error bad argument type ... [vl-filename-directory]
Have any of you encountered the error message below? It is generated when attempting to run a freely-available LISP routine. This was last run successfully in full version AutoCAD.
Now, I am attempting to run this program using the latest version of BricsCAD Lite.
The program is attached.
C:\_BCAD\LISP\BreakObjects23.lsp
;
; error : bad argument type ; expected at [vl-filename-directory]
Now, I am attempting to run this program using the latest version of BricsCAD Lite.
The program is attached.
C:\_BCAD\LISP\BreakObjects23.lsp
;
; error : bad argument type ; expected at [vl-filename-directory]
0
Comments
-
On line 871 it would give a "bad argument" if it can't find the "default.pat" file in any of your support folders... The program is using this location to create the DCL (Dialog Interface). The contents of the file are not read.
The default location for that file is in your (hidden) c:\Users\ \AppData\Bricsys\BricsCAD \Support Folder
Without testing, I would simply create a default.pat file in a current Support Folder, so the program has a location to create the DCL file...
My personal preference for storing and creating Lsp and DCL files is in: C:\Users\Public\< Lisp Folder Name > as this folder is visible and unrestricted for any user, etc...
0 -
As a fan of this particular LISP program, I made the needed directory location change and am still getting the same error message.
Also, I removed the ACAD-based, .PAT file from the code. It now reads:
(setq patfn (if Brics "default.pat")
Now with only the most basic of LISP coding skills, I would appreciate if you or another might test this program.0 -
Hello.
Apparently Brics is used as a global variable.
I could find only one place (function) where Brics is initialized.
I am not sure if that function is always run.
So, the issue might be just this, with Brics evaluating to nil.
To check whether this is the issue, patfn could be set as "default.pat":
(setq patfn "default.pat")
0 -
I would try using the function as it was originally posted here
https://www.theswamp.org/index.php?topic=10370.msg594917#msg594917
The version you posted has the test for BricsCAD inside a function(setq Brics (wcmatch (getvar 'acadver) "*BricsCAD*" ))
rather than at the top of the code like the original.
Regards,
Jason Bourhill
BricsCAD V24 Ultimate
CAD Concepts0 -
You are correct. This program works as designed. Many thanks to you, Jason!
Clint0