Using superpurge by Manusoft, I can remove the reactors (I'm not sure how it
works), but I'd rather develop a lisp routine that scans a drawing to see
what reactors are embedded, and then has options to delete. Any pointers on
reactor scanning & deleting would be helpful.
Thanks,
Dan
;;;From: Cliff Middleton (cmidd...@generalbroach.com)
;;;Date: 2001-09-19 09:38:14 PST
;;;Run this little doo-dad to see if there is an errant reactor you had
;;;forgotten to remove.
(defun c:reacs ()
(mapcar
'(lambda (reactors)
(mapcar
'(lambda (reactor)
(princ "\n")
(princ (vlr-reactions reactor))
)
(cdr reactors)
)
)
(vlr-reactors)
)
)
;my quickie
(defun ListAllReactors( )
(vlr-reactors)
)
(defun ListAllReactions()
(foreach r
(listAllReactors)
(print (car r))
(print (cdr r))
(vlr-reactions (cadr r))
)
)
;to get rid of
;(I think this was from help files, sorry to author if that's not correct)
;;;--------------------------------------------------------------;
;;; Function: CleanReactors
;;;--------------------------------------------------------------;
;;; Description: General utility function used for cleaning up
;;; reactors. It can be used during debugging, as
;;; well as cleaning up any open reactors before
;;; a drawing is closed.
;;;--------------------------------------------------------------;
(defun CleanReactors ()
(mapcar 'vlr-remove-all
'(:VLR-AcDb-reactor
:VLR-Editor-reactor
:VLR-Linker-reactor
:VLR-Object-reactor
:VLR-Sysvar-reactor
:VLR-Miscellaneous-reactor
)
)
)
not sure if there's specific issues with persistent reactors in removing
them. check the help.
good luck
hth
Mark
"Dan Allen" <al...@NoBcvSpamArch.com> wrote in message
news:9F15A15ED8BE77FD...@in.WebX.maYIadrTaRb...
Dan,
If you are using ADT in any part of the process, it automatically establishes
a default scale (which you can specify) and which you can change. You
must use the Documentation -> Drawing Setup command rather than the
dimscale variable to control the aspects of drawing scale in ADT. The
command name is actually: _AecDwgScaleSetup but I never type it in.
If you want to eliminate any aspect of ADT, including the smart architectural
objects, you will need to use AECOBJEXPLODE. That will eliminate the
dictionaries in the drawing that maintain the architectural information and will
explode all the custom objects to basic autocad linework.
I encourage you to try using the ADT methods if you continue to use ADT.
Doug
"Mark Propst" <nonentityatplanetkcdotcom> wrote in message
news:5D34D30673FAC088...@in.WebX.maYIadrTaRb...
Thanks for the post, however c:reacs only returns the reactors I have in the
drawing:
((:VLR-sysVarChanged . BCV_REACTOR_SYSVARCHANGED) (:VLR-sysVarWillChange .
BCV_REACTOR_SYSARWILLCHANGE))
((:VLR-commandEnded . BCV_REACTOR_COMMANDENDED) (:VLR-commandWillStart .
BCV_REACTOR_COMMANDWILLSTART))
Perhaps as Doug indicates it is one of the following:
1) separate namespace reactors, 2)VBA based reactors, and 3) ARX based
reactors.
To respond to Doug's message, we don't use ADT or any arx based add-ons,
other than tweaks like acadx tabs and the AEC object enablers, which I
suppose are the culprits. There must be a dictionary in the drawing
containing the data the reactor is firing on. Perhaps I can erase the
dictionary and ignore the reactor?
Dan
"Mark Propst" <nonentityatplanetkcdotcom> wrote in message
news:5D34D30673FAC088...@in.WebX.maYIadrTaRb...
Hi Dan,
Look if there is a data dictionary in the visual lisp reactors
(vlr-pers-dictname) or' "VL-REACTORS"
The other way is to look in the dictionaries and make a list, post it here,
so others can take a look.
> I suppose I should cycle through deleting each one till I find the
culprit.
I see, yes do that.
Thanks - I'm short on time today to give this the attention it deserves, so
I'm probably misunderstanding how I should be looking for the dictionaries,
as:
Command: (vlr-pers-dictname)
"VL-REACTORS"
gives only that?
However I did use this code from acadx.com
;;;=========================================================================
=====
;;; listDictionaries
;;;
;;; Purpose
;;; Returns a list of all dictionaries defined in the current drawing
;;;=========================================================================
=====
(defun listdictionaries ()
(massoc 3 (entget (namedobjdict)))
)
to get this:
("ACAD_GROUP" "ACAD_LAYOUT" "ACAD_MLINESTYLE" "ACAD_PLOTSETTINGS"
"ACAD_PLOTSTYLENAME" "ACAD_WIPEOUT_VARS" "AcDbVariableDictionary"
"AEC_DISP_REP_CONFIGURATIONS" "AEC_DISP_REP_SETS" "AEC_DISP_REPS"
"AEC_DISPLAY_PROPS_DEFAULTS" "AEC_PROPERTY_SET_DEFS" "AEC_VARS"
"BNS_VARIABLES")
I suppose I should cycle through deleting each one till I find the culprit.
Dan
"Dan Allen" <al...@NoBcvSpamArch.com> wrote in message
news:81F285B4A71E32BC...@in.WebX.maYIadrTaRb...
> Luis,
Tried that:
Command: aecobjexplode
Unknown command "AECOBJEXPLODE". Press F1 for help.
Could it be a glitch with the enablers? I am constantly getting German
messages regarding demand loading of the enablers.
These are the arx files loaded (A2k):
Command: arx
Enter an option [?/Load/Unload/Commands/Options]: ?
Loaded Runtime Extension Programs:
acadapp.arx - MDI Aware.
acadvba.arx - MDI Aware.
acadxtabs.arx - MDI Aware.
acdblclkedit.arx - MDI Aware.
acdblclkeditpe.arx - MDI Aware.
acdim.arx - MDI Aware.
acdimdynprop.arx - MDI Aware.
aceplotx.arx - MDI Aware.
acetdcp.arx - MDI Aware.
acetfpth.arx - MDI Aware.
acetlodr.arx - MDI Aware.
acetutil.arx - MDI Aware.
achapi15.dbx - MDI Aware.
achlnkui.arx - MDI Aware.
acismobj15.dbx - MDI Aware.
acismui.arx - MDI Aware.
aclayerp.arx - MDI Aware.
aclyutil.arx - MDI Aware.
acmatch.arx - MDI Aware.
acmted.arx - MDI Aware.
acopm.arx - MDI Aware.
acpltstamp.arx - MDI Aware.
acspacetrans.arx - MDI Aware.
acstd.arx - MDI Aware.
actoday.arx - MDI Aware.
aecarchbase30.dbx - MDI Aware.
aecarchdachbase30.dbx - MDI Aware.
aecareacalculationbase30.dbx - MDI Aware.
aecbase30.dbx - MDI Aware.
aeccbase30.dbx - MDI Aware.
aecclb.dbx - MDI Aware.
aeclab.dbx - MDI Aware.
aeclac.dbx - MDI Aware.
aeclad.dbx - MDI Aware.
aeclb.dbx - MDI Aware.
aeclm.dbx - MDI Aware.
aecloader30.arx - MDI Aware.
aeclsc.dbx - MDI Aware.
aeclsd.dbx - MDI Aware.
aeclsda.dbx - MDI Aware.
aeclstb.dbx - MDI Aware.
aecluib.dbx - MDI Aware.
aecmodeler30.dbx - MDI Aware.
aecschedule30.dbx - MDI Aware.
aecscheduledata30.dbx - MDI Aware.
aecscheduledataarch30.dbx - MDI Aware.
aecstructurebase30.dbx - MDI Aware.
aecuibase30.arx - MDI Aware.
attedit.arx - MDI Aware.
cxfixcombos15.arx - MDI Aware.
doslib2k.arx - MDI Aware.
edittime.arx - MDI Aware.
fewlcaps.arx - MDI Aware.
fewlvar.arx - MDI Aware.
fscreen.arx - MDI Aware.
geom3d.arx - MDI Aware.
movebak.arx - MDI Aware.
objectdcl.arx - MDI Aware.
oleaprot.arx - MDI Aware.
preventlockerror.arx - MDI Aware.
rtext.arx - MDI Aware.
textedit.arx - MDI Aware.
units.arx - MDI Aware.
vl.arx - MDI Aware.
wipeout.arx - MDI Aware.
There is a registry hack that turns off the drawing scale
activity. I can't remember which registry key did it.
Can't help you with the German stuff.
Regards,
Doug
"Dan Allen" <al...@NoBcvSpamArch.com> wrote in message
news:FA7722818E769DDD...@in.WebX.maYIadrTaRb...
(defun c:dimscale (/ a b dimscale)
(setq a (dictsearch (namedobjdict) "AEC_VARS"))
(if a
(progn
(setq b (dictnext (dxf -1 a) t))
(while (not (= (dxf 0 b) "AEC_VARS_DWG_SETUP"))
(setq b (dictnext (dxf -1 a)))
)
(setq
dimscale (getreal (strcat "\nEnter new value for DIMSCALE <"
(rtos (dxf 40 b))
">: "
)
)
)
(if (not dimscale)
(setq dimscale (dxf 40 b))
)
(setq b (entmod (elist b 40 dimscale)))
)
(progn
(setq
dimscale (getreal (strcat "\nEnter new value for DIMSCALE <"
(rtos (getvar "dimscale"))
">: ")
)
)
(if (not dimscale)
(setq dimscale (getvar "dimscale"))
)
)
)
(setvar "dimscale" dimscale)
(princ)
)
;extract data from dotted pair
(defun dxf (code elist) (cdr (assoc code elist)))
;change entity list contents if found otherwise add to list
(defun elist (el grp new)
(if (assoc grp el)
(subst (cons grp new) (assoc grp el) el)
(append el (list (cons grp new)))
)
)
The other thing I did was turn off in the registry LDD's automatic resetting
of dimscales.
The key name (for me) is
HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R15.0\ACAD-138:409\Profiles\MapL
andDevelopmentDesktop\Preferences\AecBase
and then set DwgSetupDoAcadVars to 0.
Hope some of this helps.
Josh
"Dan Allen" <al...@NoBcvSpamArch.com> wrote in message
news:9F15A15ED8BE77FD...@in.WebX.maYIadrTaRb...
Thanks for the tip, looks like there are other settings as well that I might
want to turn off. Any insight on what they do?
\Preferences\AecBase
ViewManagementSystemDiagnostics
GeometryDiagnostics
QuickOsnaps
ObjectRelationshipGraphDiagnostics
MaintainExplodedObjectBlockProps
DwgSetupDoZZblk
DwgSetupDoAcadVars
DwgSetupDoLispVars
QuickLayerManager
Preferences\AecUiBase
UseCommonPositionForSimilarDialogs
UseCommonViewerPositionForSimilarDialogs
ShowNonCurrentVerMsgForOpen
ShowPrevVerWarningForSave
Also, my quick test of deleting all the AEC dictionaries didn't work, they
are recreated at reopening of the drawing.
Dan
"R. Robert Bell" <NOT.r...@acadx.com> wrote in message
news:5EED4C1789F9BB32...@in.WebX.maYIadrTaRb...
> DwgSetupDoAcadVars=0
>
> in the profile's Preferences\AecBase branch.
>
> --
> R. Robert Bell, MCSE
> www.AcadX.com
>
>
> "Doug Broad" <dbr...@earthlink.net> wrote in message
> news:C130785440A3C4E6...@in.WebX.maYIadrTaRb...
> | Dan,
in the profile's Preferences\AecBase branch.
--
R. Robert Bell, MCSE
www.AcadX.com
"Doug Broad" <dbr...@earthlink.net> wrote in message
news:C130785440A3C4E6...@in.WebX.maYIadrTaRb...
| Dan,
--
R. Robert Bell, MCSE
www.AcadX.com
"Dan Allen" <al...@NoBcvSpamArch.com> wrote in message
news:A9311D2F691FF13C...@in.WebX.maYIadrTaRb...