Monday, July 22, 2013

Autodesk Exchange Apps Portathon Event

Do you have apps you've been wanting to submit on the Autodesk Store but haven't had time and need some motivation? Now is your chance.

For a 24 hour period on September 13-14th, Autodesk will be paying $100 per app submitted (up to 5 apps per person are eligible). You can read more about the event at the links below - and note that you must register to attend the event!!

Good luck developers!!

http://adndevblog.typepad.com/autocad/announcing-the-autodesk-exchange-apps-portathon.html

http://adndevblog.typepad.com/autocad/2013/07/get-your-exchange-apps-done-by-september-14-and-receive-us100-per-app-published.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+AutocadDevblog+%28AutoCAD+DevBlog%29

Tuesday, July 9, 2013

AutoCAD 2014 - New Security Features

One of the newest features in the 2014 product(s) is the implementation of security features. With the AutoCAD* (verticals included) malware going around, Autodesk has implemented two new variables that work as a blocking mechanism for loading external code files - that is, LISP Routines, .NET Files, etc. You can read more about the malware going around here and here.

This new system has it's positives and negatives for sure. Obviously good because it provides added prevention to loading external malicious code, but can be seen as bad because it's an additional dialog for every file you need to load with workflow routines.

 
There are a few ways around this system, as always, and with limited information being out on the web I thought I'd provide some additional things I have found. Of course there is always a way to turn these things off all together which can be accomplished with the new setting SECURELOAD - though this is not recommended as it will leave you vulnerable. You can read more about this here.
 
Manually, you can go into the Options menu, Files Tab, open up Trusted Locations and add the folders of trusted paths. Note that if the path is not set to READ ONLY, AutoCAD will prompt you to manually allow - but this is not recommended as malicious code could save a file into a write enabled path. Once paths are added here, AutoCAD will allow loading of any files in the path without the above dialog appearing. I believe that this is restricted to files directly under the main folder and not under sub folders, though I have not found documentation on this.
 
 
Additionally trusted locations can be added from the command line with the new command TRUSTEDLOCATIONS. Each path can be written out and separated by semicolons ";". For example, C:/This/Is/My/Path;C:/This/Is/Another/Path.
 
With much of AutoCAD* allowing for a cloud based system for file storage, trusted domains can also be added via the command TRUSTEDDOMAINS; again via separated by semicolons ";". You can read more about this here and here.
 
Another way to deal with loading external files is with the recent auto loading system that debuted in AutoCAD 2012 and made it to many AutoCAD verticals in 2013. AutoCAD* 2014 will automatically load bundle files from the Autodesk plugins folder. The bundle files can get quite involved as they are setup to run on multiple platforms as programmed by the developer, thus I won't get into how they work here in this blog, however you can read up more on this here and here.
 
Of course the autoloader system is great, but it can be a bit overwhelming for those who do not do a lot of programming. Thus I have created a LISP routine that can be used for setting the trusted path locations automatically (this could easily be modified for domains as well). Take the code below and paste into a text file and save as a LISP routine - then modify the paths to your own (shown as red text below). This code can also be added into an ACAD.lsp file and saved in the program support folder as AutoCAD will still autoload from there without the security dialogs as well.
 
 
;;SET TRUSTED PATHS
;;Written by Steve Hill, 7/3/2013
;;www.beyondcivil3d.blogspot.com
 
;;This function checks if string 1 (s1) contains string 2 (s2)
;;If not, it combines string 1 and string 2 with a semicolon in between and returns the new string.
;;If it does, it just returns the first string
(defun addtrustedpath ( s1 s2 )
 

           (if (= (strlen s1) 0)
 
                  (progn
                         (strcat s1 s2)
                  );progn
 
                 (progn
                         (if (= (vl-string-search s2 s1) nil)
                                   (progn
                                            (strcat s1 ";" s2)
                                   );progn
                                  (strcat s1)
                          );if
                  );progn
 
             );if
);end defun
 
 
;;This function begins with the trusted path string obtained in the next function (p1).
;;If nothing, it begins with nothing. We then add the paths listed below to this string.
;;The Addtrustedpath function checks to make sure the path does not already exist.
(defun trustedpathstring ( p1 )

              (setq p1 (addtrustedpath p1 "C:\\My\\Path\\Number1"))
               (setq p1 (addtrustedpath p1 "C:\\My\\Path\\Number2"))
              (setq p1 (addtrustedpath p1 "C:\\My\\Path\\Number3"))
              ;;copy code on line above and change path to add more paths here
              ;;continue until all of your trusted paths are added to code here.
);end defun

;;This function gets the current trusted paths, then passes the string to the above function
;;And finally sets the trusted paths variable obtained from the above functions
(defun settrustedpaths ()

              (setq currpaths (getvar "trustedpaths"))
              (setvar "trustedpaths" (trustedpathstring currpaths))
);end defun

(settrustedpaths)

(princ "\n\n****Trusted paths have been set****")
    
Overall, the new security features are a good thing. I recommend leaving them on to ensure your system is not loading malicious code files. Please feel free to comment if you have any better suggestions.

 
 
 


Thursday, July 4, 2013

Vacation in the San Francisco Bay / Napa Valley Area


My wife and I are celebrating our 6 year wedding anniversary this weekend in the San Francisco Bay Area and Napa Valley. On our drive up to Napa Valley, I thought it was a must for us to swing by the Autodesk Headquarters to get a photo. After all I've spent at least 40 hours a week for nearly 52 weeks a year for almost 14 years in my professional career using Autodesk software - a substantial amound of time.

Autodesk has helped me have a successful career and also provided means for me to recently startup my own LLC writing custom apps. Check out my apps on my website:

www.redtransitconsultants.com

Tuesday, July 2, 2013

Improving Healthcare Buildings with BIM

Autodesk has recently put together a nice advertisement for promoting the use of BIM in the healthcare industry design process. This is a great reminder that as designers of our world, it's not always about how quickly or cheaply something can be completed, but also about what is the best design for the project. As it's clearly stated in this ad for healthcare buildings, good, well thought out design, can help save lives.

BIM technologies are a great resource at our fingertips to help give us more answers and solutions up front in the design process.

Wednesday, January 2, 2013

Corporate CUI Setup to Include New Autodesk Exchange Store Capabilities

Autodesk Exchange Store App Explanation:

With AutoCAD 2012 and now a good portion of 2013 Autodesk Products, such as Civil 3D, there is a need to allow users corporate wide to install custom applications for use. In the past advanced users could use APPLOAD to load their custom AutoLISP routines and NETLOAD to load their custom .NET (DotNET/DLLs) applications as needed. These methods are still in place, however, with the new Autodesk Exchange Store, Autodesk has implemented a new method that will require the CAD Director/Manager to implement additional changes to CUI files to allow users to use the new functionality. Or at a minimum, users need to learn which tab needs to be added to their Main CUIx file if they are not using the 'out of the box' version.

If you use the Autodesk Exchange Store with the 'out of the box' setup for 2013, you will see custom apps install smoothly with limited effort from the user automatically adding ribbon buttons on a 'Plug-ins' or Add-ins' tab that only appears if these apps are installed. When running the installation of an app from the Autodesk Exchange store, the app will typically install itself to this folder path:

C:\Users\%USERNAME%\AppData\Roaming\Autodesk\ApplicationPlugins

Upon Startup (and even while currently running), AutoCAD/Civil 3D will automatically check this folder for custom apps. Apps installed in this folder will have a main folder name similar to this:

MYCUSTOMAPP.BUNDLE

This bundle folder contains the necessary file(s) to run the app, a help menu for the app, a partial CUIx file for the app, and the necessary image(s) to install custom icons. AutoCAD/Civil 3D will automatically add the partial CUIx file to your Main CUIx file and a new tab will appear on your ribbon. After installing, you should see something like this take place:


In the upper right a notification will appear telling you the app has been installed, from here you can also access the ReadMe Help file for that app (although you only have about 5 seconds to click this file from here during a session, it can be accessed from the actual button as well). The 'Plug-ins' tba will also appear with a button for running the app (of course as always there is a command for each app that can be typed in). The button provides a visual for the app and also access to the help file. Simply hover over the button and hit F1. The app's help file will appear. From here on the app can be used as needed, uninstalled, etc.

Corporate CUI Setup
From a corporate standpoint, some may wish to allow their users to have this functionality built in. The above functionality completely depends on where the workspaces are stored. The software can only automatically add in custom applications onto a 'Plug-ins' tab to the Main CUIx file. Thus if your company runs the workspaces from an Enterprise CUIx file, the software will not be able to modify the ribbon to add the 'Plug-ins' tab because the Enterprise CUIx is read only. So in my opinion, here is the best way to setup your CUIx files to allow for an Enterprise CUIx and auto installation of apps.

First, keep your Enterprise CUIx the way it is - with your corporate workspaces built in it. The image below shows how I have my Enterprise CUI file setup. Basically, this CUI was created from the 'Out of the Box' C3D.cuix file initially. This contains all of the originally parital CUI files and original workspaces. From here I added in a corporate ribbon and menu that were added to the workspaces. This allows me to ensure all users will get the ribbon and menu with corporate custom buttons and apps through the Enterprise CUIx file, and it cannot be modified. We also add in a corporate LISP routine for various functions here.


The Main CUIx file (I have called MAINUSERCUI) is shown in the next screen shot below. This CUIx can be edited by the user to allow them to setup their own workspace. This CUIx is literrally just a blank CUIx file created from scratch. The only items I include here is a intial workspace for the user and a specific tab for the Autodesk Exchange Store apps to auto-install. The intial workspace I have named 'MyCustomWorkspace', we'll get into what that includes in a minute. The Ribbon Tab named 'Plug-Ins' is very important. This does not have to be titled 'Plug-Ins', but must have an alias of "ID_ADDINSTAB" for apps to automatically install. Also, notice the partial CUIx file that is already added. This was not included on the intial install for the user, but was automatically added when installing an app from the Autodesk Exchange Store - this is why it will not work with an Enterprise CUIx file as the Enterprise cannot be modified to include another partial CUIx file.


The 'MyCustomWorkspace' settings are shown in the image below. Basically I have intially included tabs from the Enterprise CUIx file, Civil partial CUIx file to include the desired Civil 3D tabs (This is all but the Civil 3D Add-ins tab). Then I have also included the 'Plug-ins' tab from the Main CUIx file.


When switching workspaces, the user will see both workspaces from the Enterprise CUIx and the Main CUIx files as shown below. Auto installed plug-ins from the Autodesk Exchange Store will ONLY appear on the user's custom workspace(s) as selected in the above screen shot. Users will need to be informed that the Plug-ins tab on the Main CUIx must be added to any addtional workspaces they choose to setup.


I hope this helps clarify some of the unknowns for you as there are many apps coming to the Autodesk Exchange Store, providing additional functionality for the software. I have seen many great apps on the store and have found many uses for them. Some of my own apps can be found at my company website www.redtransitconsultants.com.

Monday, December 10, 2012

Autodesk Exchange Store CUI Issues - RESOLVED!!

Here is a great post from Augusto Goncalves regarding the Autodesk Exchange app plugins. Some may have seen duplicate 'Plug-In' or 'Add-In' ribbon tabs when installing apps from the store. A simple change to your CUI will solve this issue.

http://adndevblog.typepad.com/infrastructure/2012/12/duplicated-add-ins-tab-on-civil-3d.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+InfrastructureModelingDevblog+%28Infrastructure+Modeling+DevBlog+%29

New FREE Autodesk Exchange App

Red Transit Consultants has a new Civil 3D Surface Style Toggle app out on the Autodesk Exchange Store and the best part is... the app is FREE!!

See the post and follow the blog here:
http://www.redtransitconsultants.com/blog/c3d-surface-style-toggle-free-app

Then go download the app!! Available for Civil 3D 2013.