TheSwamp
CAD Forums => CAD General => Topic started by: AfricaAD on September 24, 2004, 12:57:35 PM
-
Some odd reason, this lisp does not always tell 'who' has the drawing file open. How so? Is there a specific setting the server/ACAD, etc. needs to be set? Is there another lisp similar to this that works better?
We use Acad2k2
-
do you have novell network ??
With AutoCAD 2004 you don't need any lisp.
-
We use a windows network, and we aren't looking into any upgrades anytime soon.
-
I can't find a way to get whohas to work either.
There is another way to find out though, if you open the dwl file with notepad, it tells you who opened the file and when.
This is how whohas should do it, but doesn't.
I'm sure some of the lisp gurus in here would be able to write up a quick lisp whic would do this for you if they had time, but in the meantime you can at least find out who opened the file.
-
I was under the impression that all machines had to have the same lisp running (possibly in the start-up routine), and be logged on as an individual user.
Our network has me logged onto one server as me but the windows password is the same for everyone, so I dont think whohas.lsp works for us.
-
open the dwl file with notepad, if it has your info then it woudl work for you.
-
Yes, the people who you're trying to find have to have it loaded on their machines too. BTW, whohas is an arx file, not a lisp.
-
Whohas (if I recall correctly) doesn't work quite right if someone opens a drawing via explorer, that is, they double click it whilst in Windows Explorer.
A work around that I did (again, if I recall correctly) was to pen a little uility that fires on start up -> if WhoHas isn't loaded it writes out the same data (loginname, date, time).
Something like that. I'll try to remember to look this up later today.
-
open the dwl file with notepad, if it has your info then it woudl work for you.
Where are the dwl files located? :oops:
I have searched my local drive and the network project drive and I can only see one, and thats not todays.
Many thanks
-
I worked at a company that had a repository for all dwg. It was a network drive that couldn't be accessed through explorer. If you wanted a particular dwg you ran a lisp that would open a check in/out dialog. You would enter the dwg number and selet check in or check out. If you checked a dwg out of the repos it would cut the dwg to a specified folder on your C: (everyone was the same) Then it would open it from you C:. Once it cut it it created a file with the dwg number and a .out extension. This was a text file that had the time of check out and user who check it out, so if you tried to open a dwg that someone already had checked out if showed you who and when in the dialog. Only the person whom checked it out could check it in.
This was a pretty nice solution, and it worked quite well. Ibelieve that they paid someone to write it for them but I am sure that it could be duplicated.
-
Where are the dwl files located?
mine are in the same folder as the file I opened, they may be hidden files so you might need to change the setting in your windows explorer
-
I don't belive autocad 2002 created DWL files.
Pieter
-
Hi
Check out the following Technical Documents on the Autodesk web site under the Knowledge Base section -
ID: TS25122 - Determine who has drawing open (http://usa.autodesk.com/adsk/servlet/ps/item?id=2868776&linkID=2475323&siteID=123112)
ID: TS72770 - DWL files in AutoCADŽ Release 14 and later releases (http://usa.autodesk.com/adsk/servlet/ps/item?id=2890750&linkID=2475323&siteID=123112)
Have a good one, Mike
-
I set our custom.mnl file to include the following (arxload "whohas") this autoloads the whohas.arx file whenever autocad is started.
I still can't get whohas to work, but at least I can look at the DWL file to see who opened the drawing.
-
I don't belive autocad 2002 created DWL files.
Pieter
Ah, but reading the articles from Autodesk (thanks Mike) it seems like the whohas.arx file creates them for their own use, or have I read that wrong?
I think when we eventually upgrade to full ACAD we will look into that utility, but while over 50% of the company use LT, there is no point.
-
Ah, but reading the articles from Autodesk (thanks Mike) it seems like the whohas.arx file creates them for their own use, or have I read that wrong?
Hi
Nope! you have it correct...
Have a good one, Mike
-
I was told, that because we don't have individual licences (we have that corporate networking licence deal-thing) that it wont work, so we wander aimlessly saying "who has xxx open???" :(
-
Perhaps this will help --
(defun MakeDWL ( / _stripext _stripfolder _filebase _datetime filename filehandle )
(defun _stripext ( filename / i j )
(repeat (setq i (strlen filename))
(if (null j)
(if (eq 46 (ascii (substr filename i)))
(setq j i)
)
)
(setq i (1- i))
)
(if j
(substr filename 1 (1- j))
filename
)
)
(defun _stripfolder ( filename / i j )
(repeat (setq i (strlen filename))
(if (null j)
(if (member (ascii (substr filename i)) '(92 47))
(setq j i)
)
)
(setq i (1- i))
)
(if j
(substr filename (1+ j))
filename
)
)
(defun _filebase ( filename / i j )
(if (eq 'subr (type vl-filename-base))
(vl-filename-base filename)
(_stripfolder (_stripext filename))
)
)
(defun _datetime ( a b c d e f delimeter / raw )
(strcat
(substr (setq raw (rtos (getvar "cdate") 2 15)) a b)
delimeter
(substr raw c d)
delimeter
(substr raw e f)
)
)
(cond
(
(and
(eq 1 (getvar "writestat"))
(setq filehandle
(open
(setq filename
(strcat
(getvar "dwgprefix")
(_filebase (getvar "dwgname"))
".dwl"
)
)
"w"
)
)
)
(princ (strcat (getvar "loginname") "\n") filehandle)
(princ (strcat (getenv "computername") "\n") filehandle)
(princ
(strcat
(_datetime 1 4 5 2 7 2 "/") ;; date
" "
(_datetime 10 2 12 2 14 2 ":") ;; time
)
fileHandle
)
(close fileHandle)
)
)
(princ)
)
Add a ref to your s::startup function, i.e.
(defun s::startup ( )
;; ...
(MakeDwl)
;; ...
)
It will write out data to the dwl file like so (same as whohas.arx) --
CottageCGirl
PC90210
2005/05/26 13:27:38
While you could add reactor code to delete the dwl file on close / exit there's nothing wrong with leaving the dwl files on the server, to witt, they identify who edited the drawing last.
/HTHAL
-
Perhaps this will help
Thanks- very busy, will check it out later....... :crazy:
-
We use corporate licenses, & dwl's are created. It can be found at the same location as the file opened.