AutoCAD Visual LISP / AutoLISP :: Toggle Between Customized Old Style Menus / New Style Workspaces?
Nov 13, 2011Is there a way to toggle between customized old style menus and new style workspaces?
View 1 RepliesIs there a way to toggle between customized old style menus and new style workspaces?
View 1 RepliesI am looking for a way to change the text style used by a table style with Visual LISP. So far I have been able to get the IAcadTableStyle object from the acad_tablestyle dictionary, but there is no property for text style. Is this even possible? Code and results are below.
(defun DumpTableStyles ()
(setq dict (vla-get-dictionaries (vla-get-activedocument(vlax-get-acad-object))))
(setq TableStyles (vla-item dict "acad_tablestyle"))
(vlax-for TableStyle TableStyles
(vlax-dump-object TableStyle)
)
)
[Code]....
How do I tranfer all my standard autocad variable settings into a new version of Architecture? I have my dimensioning settings, etc set a certain way in my standard autocad and now I want to start using Architecture but need all my old settings.
View 9 Replies View RelatedIs there a way to programatically set a visual style before a drawing actually opens?
We have some huge models and people seem to forget to change their visual styles back to 2D wireframe before saving and exiting drawings. Some models will crash on some workstations when trying to open in a rendered mode.
I found a lisp with a function that looked to set viewport visual styles. But it does not seem to be supported anymore. --> (vla-put-VisualStyle vport 1)
I cannot purge a textstyle out of my drawing. When I run purge nothing is available.
However if I select the style from the style dialog I am able to select delete and delete the style.
When I use the method on the style (vlax-invoke-method style 'Delete). AutoCAD states:
Automation Error. Object is referenced by other object(s)
The style is defenatly not in use but may have been used in the past.
I am trying to put together a LISP that changes the font of two text styles. One bing named "Standard", and the other "WD".
This is what I have so far...
(defun C:CHANGESTYLE (/ entities len count ent ent_data ent_name new_style_name)
(command "STYLE" "Standard" "Romantic" "" "" "" "" "")
(setq entities (ssget "X" '((0 . "TEXT")))
len(sslength entities) count 0);
[Code]....
I couldn't figure out how to select mtext and text all in one swoop, so i ran it twice
Now, when i run this code, i get the following error "lselsetp nil".
CADMASTER TECHNOLOGIES, LLC
[URL]....
I am trying to create a lisp routine, that will check the dimension style "standard" to see if its annotative. If it is, I need it to turn annotative to off.
ITO - Application Management
Factory Design Suite Ultimate 2012
AutoCAD 2012 | Inventor Professional 2012 | Vault Professional 2012
Is there a way for me to change a layers plot style from one to another with LISP?
We use named plot styles, STB's not CTB's.
I want to be able to create an icon that will change all layers with the plotstyle "normal" to "black". Is this possible with lisp?
I wrote (setq oldtext (getvar "textstyle")) to save the current text style,
(setvar "textstyle" (getvar "dimtxsty")) to change the text style to the current dimension text style (which appens to be romans) and later (setvar "textstyle" oldtext) to restore the text style to its original setting but it won't work.
This is the same format used to save and restore osnap in many lisp routines.
When I check the program in the visual lisp editor, oldtext returns "standard" (the original text style - so that part works) but "textstyle" returns nil. I even tried (setvar "textstyle" "standard") to no avail. "Textstyle" remains romans.
I am trying to use autolisp to change the point label style in autolisp. Mostly teach you how to do it manually, I not sure there is a way to do it in autolisp.
View 5 Replies View RelatedIs it possible to create a lisp that would change the plot style table? I don't know of any variable to type to change that. We convert drawings from Solid works to AutoCad and use the basic monochrome plot style. I'd like to easily change that since the act of doing that is repeated many times.
View 1 Replies View RelatedI have a lisp function that is updating attribute values on a newly inserted block. The lisp function uses entget to read the attribute. Then it plugs a new value into the assoc 1 using subst, then uses entmod to update the attribute's value. It all works fine except that the attribute loses its style, i.e. assoc 7, somehow. If I do an entget on the attribute right after the entmod the assoc 7 is nil. The symptom on the drawing is that the attribute value is not visible until I close and open the drawing.
This only happens on a newly inserted block on existing drawings. If I close the drawing and reopen it then the lisp function works fine. Or If I insert the same block on a new drawing it all works fine. what would cause the assoc 7 to go missing after an entmod to change the attribute value?
Is there a way to get model space to "display plot styles" through a lisp routine or a script?
i'm currently setting up a whole bunch of custom tool palettes for the company I work for and instead of the icons displaying in their actual colour (at the moment they're green, which doesn't show up very well on the light grey background), I'd rather they show in the plotstyle assigned to the individual dwg's.
call up the page setup manager (while in model space) and click modify, you can then check the radio button to "display plot styles" in the top-right corner. But when you have around 100 - 200 blocks to change, that process can be rather time consuming and cumbersome!
im my current coding project im attempting to change the font stlye of 1 text item
i tried used the simple method of
[code]
(command "STYLE" "simplex" "ARIAL" "" "" "" "" "")
[/code]
however, using this changes the text's font in the whole drawing
i searched the forums here and everything i found either didnt work or changed all the text.
is there a more elegant way of doing this with just a selected text item and not the text in the whole drawing?
By running this routine it returns the following error message:
ERROR: bad argument type: VLA-OBJECT 7
(defun _make_tblstyle (stlname / adoc acmcol tblstyle txh)
(setq adoc (vla-get-activedocument
(vlax-get-acad-object))
)
(setq acmcol (vla-getinterfaceobject
[Code] .......
I have some working code that sets the Text Style name to ROMANS inside my Mleader Style called ARROW. Here it is:
(setq dict (dictsearch (namedobjdict) "ACAD_MLEADERSTYLE") ; start setq q
dict1 (member (cons 3 "Arrow") dict) ; code 3 is Mleader Style Description
el1 (entget (cdr (assoc 350 dict1))) ; code 350 is dictionary entity handle
er (tblobjname "style" "Romans") ; new value for MLEADER Text Style
) ; end set
(entmod (subst (cons 342 er) (assoc 342 el1) el1)) ; code 342 is MmTextStyleId - write new vale to mTextStyleId
I want to modify this code so that it sets the Arrow Head Size to a specific value, say 0.125. Having a tough time figuring out the DXF codes and tblobjname to do this.
I'm running the following string in a routing that is looping so I get dozens of these prompts. How to supress these? Or, do i have to use to entmake?
(begin loop...
(command ".-Mtext" CSW-Tpoint "W" 0.0 (vl-filename-base (vla-get-imagefile image)) "")
);end loop
Prints to the command line..
Current text style: "Standard" Text height: 0.0833 Annotative: No
Current text style: "Standard" Text height: 0.0833 Annotative: No
Current text style: "Standard" Text height: 0.0833 Annotative: No
Current text style: "Standard" Text height: 0.0833 Annotative: No
I have some legacy menus that are quite large. I have tried to create a new workspace, and that seemed to work o.k.
UNTIL I used menuload to try to load the old menu. At the point all the defualt workspaces were wiped out somehow.
I would like to have access to both the default workspaces and then also by switching to a custom workspace, my legacy menus.
We have had custom toolbars for many years that included custom pop menus etc. Now that we are running cuix customizations how do I edit these customized pop menus? Do I need to rewrite this stuff in lisp, vba, .net, whatever?
View 1 Replies View RelatedI have inside every text,Mtext contents different text style like Arial_1 , Arial_2.
How i can give all the contents inside one style ? the normal procedure i will enter inside text to enter editing mode and changing text format style one by one. I want it once.
I want to save my routing of entering every text to change its content text style.
(Notice:select all from outside without editing mode will not do the job)
Retrieving a list of Workspaces from menu files .cui and .cuix
The function to use is (workspacelist) which returns a list of workspace names, similar to (layoutlist) for retrieving a list of Layout names.
The functionality for extracting "WorkspaceRoot.cui" from .cuix requires copying the .cuix to .zip so that it can be accessed as a Windows compressed (zipped) folder which the Windows object "Shell.Application" provides.
Please rename the attachment to .lsp
I received the following error when I tried to post the .lsp: "The contents of the attachment doesn't match its file type."
I upgraded from Autocad 2004 to 2012 recently and my lisp file doesnt work anymore.
what it's supposed to do is when looking at the layout tab that you want you can switch to the model space location of the same zoom as the layout tab without messing with the layout zoom.
(defun c:msp ()
(setq cm (getvar "cmdecho"))
(setvar "cmdecho" 0)
(command"view" "d" "tmp")
(setvar "tilemode" 0)
(command"pspace")
(princ "Click TWICE on desired VPORT: ")
(command "mspace" pause "view" "s" "tmp")(princ)
(setvar "tilemode" 1)
(command "view" "r" "tmp")
(setvar"cmdecho" cm)
(princ)
)
I’m having a mental collapse blank today. I'm trying to write a lisp that toggles between two custom lisp/ functions.
just incase, the lisp is to be incorporated into a button...
Is there a way of opening existing cmds in the visual lisp editor and edit them to do something else? I'd like to set up a lisp where 'uu' would switch the drawing units from decimal to architectural units and hittng 'uu' again would switch it back.
View 4 Replies View RelatedA plugging we use has just updated and loading double menus causing error messages prompting that menu already exists unable to load.
In my cui the menus are loaded in my enterprise as well as my main.
How do I keep the menu with the same name in my enterprise yet unload the one of the same name in my main (where it shouldn’t be) using lisp (I want to Automate this using lisp, since I'm not always in office at the same time as everyone else)?
I am able in lisp to create a command prompt selection menu, easy (see code below).However what I want is for the lisp to be ready to undertake an action UNLESS I select an option.
An example is the offset command wich has a function ready to roll (namely the specify offset distance) "OR" I can interrupt the "specify offset distance" and enter one of the sub options (in the case of offset Through/ Erase/Layer).
My code attempts to offset also, UNLESS the user wishes to specify a distance.
(DEFUN C:loadoffset ();CREATING MENU FOR SUB COMMANDS [GETIT] [GOTIT]...(setq choose (getstring "
Select an option... [1=GET DIST] [2=GOTDIST]: "))(if (or (equal choose "1"))(GETIT))(if (or (equal choose "2"))(GOTIT));TERMINATING SELECTION MENU...)(defun getit ( gotit )(setq MYDIST (getdist "
SELECT A DISTANCE: "))(gotit))(defun gotit ()(command "_offset" MYDIST pause pause"exit"))
I have a bunch of discipline specific menu files as partial cui's to my enterprise menu. I don't want to show them all, as some users may not need them all. What I would like to have is a menu item
Load Menus ->
Civil
Electrical
Mechanical
Structural
and when they click on one of them the relevant menu file is made visible in the current workspace. Is there a simple way to do this?
I have made an extra CUI that is loaded as a partial CUI.
Now I want to add a context-sensitive shortcut menus like this: POP504, OBJECT_AEC_DOOR.
The problem is that this shortcut menu only shows up if I add the shortcut menu to the main CUI file. If I add it in some partial CUI it never shows.
Does shortcut menus only work from within the main CUI?
I'm able to add custom panels/buttons into the Ribbons, by cloning the existing ribbon (from acade.cuix) into my partial cuix. However.. I'm not able to add more commands to the shortcut menus, using the same technique.
Is it possible to add custom commands to existing shortcut menus using a partial cuix?
I am having trouble drilling down to the object that contains the point label components. Specifically, I would like to access values such as Anchor Component, Anchor Point, Text Height, X Offest, and Y Offset for the various components of the Point Label Style. I am able to get the Point Label Style by name (object dump below) but I don't know how to get at the components that I want to work with.
; IAeccPointStyle: IAeccPointStyle Interface; Property values:; Application (RO) = #<VLA-OBJECT IAeccApplication 000000004965fbc0>; CreatedBy = "Cooper"; CustomMarkerStyle = 0; CustomMarkerSuperimposeStyle = 0; DateCreated (RO) =
[Code]....
I'm working on a simple website for my brother's company where the designers gave me several PSD documents to slice up and arrange into HTML, PHP or whatever I choose.
He'd like to do a drop-down style menu that "kicks out" horizontally to the right (please see attachments).
how to deal with this while keeping the look of the original look and feel? As I was slicing up the PSD, I thought about making a slice that is the size of the fully-extended menu (second attachment) and make it into its own table that defaults to the "background" image or conditionally (JavaScript on-click?) displays the images in a three-row table with the images hyperlinked as expected.
I'm sort of an old-school web developer who still tries to do most of my work in HTML, ASP and JavaScript (although I'm very interested in getting into some PHP).