<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>AutoCAD on ManuSoft</title><link>https://www.manusoft.com/tags/autocad/</link><description>Recent content in AutoCAD on ManuSoft</description><generator>Hugo</generator><language>en-us</language><copyright>1991–2026</copyright><lastBuildDate>Wed, 07 Nov 2018 09:22:38 +0000</lastBuildDate><atom:link href="https://www.manusoft.com/tags/autocad/index.xml" rel="self" type="application/rss+xml"/><item><title>Bones, clones, and cyclones</title><link>https://www.manusoft.com/archive/blog/bones_clones_cyclones/</link><pubDate>Wed, 07 Nov 2018 09:22:38 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/bones_clones_cyclones/</guid><description>&lt;p&gt;My blogging has taken a nosedive in recent years, but I’m happy to report that I am doing great. I’ve been 100% focused on making sure there’s a viable alternative DWG platform for all you lost, lonely, and depressed CAD users out there. I’m going to keep this short and sweet, because as I write this I am still 100% focused on the task: putting finishing touches on BricsCAD V19 to be released “soon”.&lt;/p&gt;</description></item><item><title>Turning off InfoCenter in AutoCAD</title><link>https://www.manusoft.com/archive/blog/turning-off-infocenter-in-autocad/</link><pubDate>Tue, 21 Mar 2017 13:47:24 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/turning-off-infocenter-in-autocad/</guid><description>&lt;p&gt;Are you looking for a way to turn off the annoying InfoCenter that slows down (or sometimes locks up) your AutoCAD? Of course you are! Hop on over to the ManuSoft &lt;a href="https://www.manusoft.com/resources/freebies/misc/"&gt;Freebies page&lt;/a&gt; and install AcadInfoCenterOff.msi, the most popular ManuSoft download of all time.&lt;/p&gt;</description></item><item><title>QuirkyPolyline updated for Bricscad and ZWCAD+</title><link>https://www.manusoft.com/archive/blog/quirkypolyline-updated-for-bricscad-and-zwcad/</link><pubDate>Tue, 09 Dec 2014 04:39:50 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/quirkypolyline-updated-for-bricscad-and-zwcad/</guid><description>&lt;p&gt;I’ve updated &lt;a href="https://www.manusoft.com/2013/01/quirkypolyline-exposing-foolish-programmers.htm"&gt;QuirkyPolyline&lt;/a&gt; and added support for Bricscad 14 – 15 and ZWCAD+ 2014 – 2015. The new QuirkyPolyline download is available on the &lt;a href="https://www.manusoft.com/resources/freebies/arx/"&gt;ObjectARX freebies page&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Building a commercial grade lisp plugin installer in 5 easy steps</title><link>https://www.manusoft.com/archive/blog/building-a-commercial-grade-lisp-plugin-installer-in-5-easy-steps/</link><pubDate>Tue, 18 Feb 2014 01:36:34 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/building-a-commercial-grade-lisp-plugin-installer-in-5-easy-steps/</guid><description>&lt;p&gt;Rumors about the death of AutoLISP have been floating around for many years, but fear not, those rumors are greatly exaggerated. Bricscad and ZWCAD both have excellent support for lisp plugins, so well-written lisp code is truly cross-platform and enjoys a large and growing audience. Unlike other languages, the vast majority of lisp code works unmodified on any hardware architecture, in any version of Windows, and inside any host application that supports it, including AutoCAD versions released more than a decade ago. On top of that, &lt;a href="https://www.opendcl.com/" target="_blank"&gt;OpenDCL&lt;/a&gt; gives lisp developers the power of a modern event-driven user interface that can put their lisp plugins on the same playing field as plugins written in any other language. This is a powerful combination, and given lisp&amp;rsquo;s low entry cost, it is not surprising to see lisp continuing to enjoy strong support in the developer community.&lt;/p&gt;</description></item><item><title>LspLoad now supports Bricscad V14 and ZWCAD+ 2014</title><link>https://www.manusoft.com/archive/blog/lspload-now-supports-bricscad-v14-and-zwcad-2014/</link><pubDate>Fri, 01 Nov 2013 10:48:12 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/lspload-now-supports-bricscad-v14-and-zwcad-2014/</guid><description>&lt;p&gt;I have updated the automatic lisp loader modules (LspLoad.zip on my &lt;a href="https://www.manusoft.com/resources/freebies/arx/" title="ADS / ObjectARX Freebies"&gt;freebies page&lt;/a&gt;) to support Bricscad V14 and ZWCAD+ 2014. Note that the source code for Lspload is &lt;a href="https://www.manusoft.com/develop/objectarx/demand-load-vlx/" title="Demand Loading a LISP File"&gt;also available&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>LspLoad Updated for AutoCAD 2014 and Bricscad 13 64-bit</title><link>https://www.manusoft.com/archive/blog/lspload-updated-for-autocad-2014-and-bricscad-13-64-bit/</link><pubDate>Sat, 13 Apr 2013 20:58:40 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/lspload-updated-for-autocad-2014-and-bricscad-13-64-bit/</guid><description>&lt;p&gt;The &lt;a href="https://www.manusoft.com/2009/12/automatic-lisp-loading.htm"&gt;automatic lisp loader modules&lt;/a&gt; (LspLoad.zip on my &lt;a href="https://www.manusoft.com/resources/freebies/arx/"&gt;freebies page&lt;/a&gt;) have been updated to add support for AutoCAD 2014 and Bricscad 13 64-bit. The modules are now digitally signed so that AutoCAD 2014 loads them quietly.&lt;/p&gt;</description></item><item><title>Turning off InfoCenter in AutoCAD 2014</title><link>https://www.manusoft.com/archive/blog/turning-off-infocenter-in-autocad-2014/</link><pubDate>Thu, 11 Apr 2013 01:50:21 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/turning-off-infocenter-in-autocad-2014/</guid><description>&lt;p&gt;The AcadInfoCenterOff.msi file on the ManuSoft &lt;a href="https://www.manusoft.com/resources/freebies/misc/"&gt;Freebies page&lt;/a&gt; has been updated to support AutoCAD 2014 based products. Note that you must log out of Autodesk 360 if you disable the InfoCenter, else some versions of AutoCAD will crash during startup.&lt;/p&gt;</description></item><item><title>QuirkyPolyline: exposing foolish programmers</title><link>https://www.manusoft.com/archive/blog/quirkypolyline-exposing-foolish-programmers/</link><pubDate>Wed, 09 Jan 2013 02:38:45 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/quirkypolyline-exposing-foolish-programmers/</guid><description>&lt;p&gt;In AutoCAD, the AcDbCurve class (&lt;a href="http://docs.autodesk.com/ACDMAC/2012/ENU/ObjectARX%20Reference/AcDbCurve.html"&gt;http://docs.autodesk.com/ACDMAC/2012/ENU/ObjectARX%20Reference/AcDbCurve.html&lt;/a&gt;) defines a general parametrized curve. On a parametrized curve, points in space are mapped to real numbers (parameters) by an arbitrary function &lt;em&gt;F(p)&lt;/em&gt; for values of &lt;em&gt;p&lt;/em&gt; from the curve start parameter to the curve end parameter. Defining a curve this way simplifies working with complex 3D curves because one can work in the curve&amp;rsquo;s one dimensional &amp;ldquo;parameter space&amp;rdquo; instead of the more complex three dimensional cartesian space.&lt;/p&gt;</description></item><item><title>Turning off InfoCenter (aka WSCommCntr4.exe) in AutoCAD 2013</title><link>https://www.manusoft.com/archive/blog/turning-off-infocenter-in-autocad-2013/</link><pubDate>Wed, 28 Mar 2012 00:41:37 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/turning-off-infocenter-in-autocad-2013/</guid><description>&lt;p&gt;I have updated the AcadInfoCenterOff.msi file on the ManuSoft &lt;a href="https://www.manusoft.com/resources/freebies/misc/"&gt;Freebies page&lt;/a&gt; for AutoCAD 2013. If you&amp;rsquo;re not sure what it does or why you need it, see this &lt;a title="Disable AutoCAD InfoCenter" href="https://www.manusoft.com/2010/11/disable-autocad-infocenter.htm"&gt;previous post&lt;/a&gt; on the subject.&lt;/p&gt;</description></item><item><title>OpenDCL 6</title><link>https://www.manusoft.com/archive/blog/opendcl-6/</link><pubDate>Fri, 05 Aug 2011 14:32:27 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/opendcl-6/</guid><description>&lt;p&gt;You may not have noticed, but AutoLISP is still alive and kicking. This is evidenced by the growing community of developers and hobbyist programmers using the latest release of &lt;a title="OpenDCL" href="https://www.opendcl.com/" target="_blank"&gt;OpenDCL&lt;/a&gt;, the free graphical user interface library for AutoLISP applications. If you&amp;rsquo;re not familiar with OpenDCL, check out the &lt;a title="OpenDCL 6 Released" href="https://www.opendcl.com/wordpress/?p=158" target="_blank"&gt;newly released OpenDCL 6&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>ObjectARX Wizard for Visual Studio 2010</title><link>https://www.manusoft.com/archive/blog/objectarx-wizard-for-visual-studio-2010/</link><pubDate>Fri, 01 Apr 2011 20:04:33 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/objectarx-wizard-for-visual-studio-2010/</guid><description>&lt;p&gt;If you&amp;rsquo;re an ObjectARX programmer, you may still be using Visual Studio 2008 because you&amp;rsquo;ve been told that you must. It&amp;rsquo;s true that you need Visual Studio 2008 installed to compile native ObjectARX code, but with &lt;a href="https://github.com/manusoft-gh/manusoft-daffodil"&gt;Daffodil&lt;/a&gt; you can &lt;a href="https://www.manusoft.com/2010/10/visual-studio-2010-native-multi-targeting.htm"&gt;do all your work in the Visual Studio 2010 IDE&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>AutoCAD 2012 InfoCenter</title><link>https://www.manusoft.com/archive/blog/autocad-2012-infocenter/</link><pubDate>Fri, 25 Mar 2011 21:44:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/autocad-2012-infocenter/</guid><description>&lt;p&gt;If you&amp;rsquo;re upgrading to AutoCAD 2012, don&amp;rsquo;t forget to also &lt;a href="https://www.manusoft.com/2010/11/disable-autocad-infocenter.htm"&gt;disable InfoCenter&lt;/a&gt; (unless you really need it). Just download and install &lt;a href="https://www.manusoft.com/resources/freebies/misc/"&gt;AcadInfoCenterOff&lt;/a&gt; to disable it on any version of AutoCAD or AutoCAD LT. If you already have AcadInfoCenterOff installed, you can just run a repair install to apply it to a newly installed instance of AutoCAD 2012.&lt;/p&gt;</description></item><item><title>Simplifying the problem: plain vanilla configuration</title><link>https://www.manusoft.com/archive/blog/simplifying-the-problem-plain-vanilla-configuration/</link><pubDate>Sat, 26 Feb 2011 14:21:32 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/simplifying-the-problem-plain-vanilla-configuration/</guid><description>&lt;p&gt;One of the stages in &lt;a href="https://www.manusoft.com/2011/02/the-art-of-simplifying-the-problem.htm"&gt;simplifying an AutoCAD software problem&lt;/a&gt; is to rule out (or in) third party add-ons as the cause. To do that, you&amp;rsquo;ll need a &amp;ldquo;plain vanilla&amp;rdquo; test bed configuration that consists of only the out-of-the-box components with no add-ons loaded.&lt;/p&gt;</description></item><item><title>Simplifying the problem: divide and conquer</title><link>https://www.manusoft.com/archive/blog/simplifying-the-problem-divide-and-conquer/</link><pubDate>Fri, 25 Feb 2011 14:08:51 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/simplifying-the-problem-divide-and-conquer/</guid><description>&lt;p&gt;When a customer reports a &lt;a href="https://www.manusoft.com/2011/02/is-it-the-drawing.htm"&gt;drawing-specific issue&lt;/a&gt;, the next stage in &lt;a href="https://www.manusoft.com/2011/02/the-art-of-simplifying-the-problem.htm"&gt;simplifying the problem&lt;/a&gt; is to eliminate all drawing content that has no bearing on the problem. Unless the drawing object that causes the problem is obvious and can be immediately ascertained, I use the &lt;a href="http://en.wikipedia.org/wiki/Divide_and_conquer_algorithm"&gt;divide-and-conquer&lt;/a&gt; method to zero in on the cause.&lt;/p&gt;</description></item><item><title>Simplifying the problem: is it the drawing?</title><link>https://www.manusoft.com/archive/blog/is-it-the-drawing/</link><pubDate>Thu, 24 Feb 2011 13:54:13 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/is-it-the-drawing/</guid><description>&lt;p&gt;One type of support request that I occasionally receive from &lt;a href="https://web.archive.org/web/2010/http://www.cadlock.com/products/CADVault/"&gt;CADVault&lt;/a&gt; users goes something like &amp;ldquo;when I create a vault, AutoCAD crashes&amp;rdquo;. I&amp;rsquo;ve learned that problems like this are usually drawing-specific, so before going any further in &lt;a href="https://www.manusoft.com/2011/02/the-art-of-simplifying-the-problem.htm"&gt;simplifying the problem&lt;/a&gt; I ask the customer to check whether the problem occurs in an empty drawing. But there&amp;rsquo;s a trick to this.&lt;/p&gt;</description></item><item><title>The art of simplifying the problem</title><link>https://www.manusoft.com/archive/blog/the-art-of-simplifying-the-problem/</link><pubDate>Wed, 23 Feb 2011 14:06:57 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/the-art-of-simplifying-the-problem/</guid><description>&lt;p&gt;One of the most important skills in resolving technical problems is not problem solving, but problem definition. Stripping a problem down to its essence often makes the solution obvious. I think this is generally true, but especially true in my experience with software tech support and tracking down software bugs.&lt;/p&gt;</description></item><item><title>Disable AutoCAD InfoCenter</title><link>https://www.manusoft.com/archive/blog/disable-autocad-infocenter/</link><pubDate>Mon, 01 Nov 2010 23:44:38 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/disable-autocad-infocenter/</guid><description>&lt;p&gt;Over the years, I and others have &lt;a href="https://www.manusoft.com/2009/03/disable-infocenter-in-autocad-2010.htm"&gt;provided instructions&lt;/a&gt; for turning off the AutoCAD InfoCenter (or Communication Center in older versions). The &lt;a href="https://www.manusoft.com/2007/09/autocad-2008-slow-startup-fix.htm"&gt;instructions are different&lt;/a&gt; depending on the AutoCAD version. To make things simple, I decided to roll them all up into a single one-size-fits-all MSI file that disables InfoCenter for any and all versions of AutoCAD  or AutoCAD LT in one fell swoop.&lt;/p&gt;</description></item><item><title>QuikPik 4.1 Adds Classic Title Bar Feature</title><link>https://www.manusoft.com/archive/blog/quikpik-4-1-adds-classic-title-bar-feature/</link><pubDate>Fri, 24 Sep 2010 22:54:28 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/quikpik-4-1-adds-classic-title-bar-feature/</guid><description>&lt;p&gt;Those of you with bad eyesight (and the rest of us throwbacks) will appreciate the &lt;a href="https://www.manusoft.com/resources/apps/quikpik/"&gt;new &amp;lsquo;Classic title bar&amp;rsquo; feature&lt;/a&gt; in &lt;a href="https://www.manusoft.com/resources/apps/quikpik/"&gt;QuikPik 4.1&lt;/a&gt;. This new feature addresses AutoCAD 2009 and later versions of AutoCAD with the fancy schmancy title bar and menu bar.&lt;/p&gt;</description></item><item><title>The Cancel Retry Paradox</title><link>https://www.manusoft.com/archive/blog/the-cancel-retry-paradox/</link><pubDate>Wed, 25 Aug 2010 15:19:09 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/the-cancel-retry-paradox/</guid><description>&lt;p&gt;Yesterday when I attempted to install the AutoCAD 2011 service pack (&lt;a href="http://withoutanet.typepad.com/without_a_net/2010/08/update-1-released-for-autocad-and-autocad-lt-2011-.html"&gt;http://withoutanet.typepad.com/without_a_net/2010/08/update-1-released-for-autocad-and-autocad-lt-2011-.html&lt;/a&gt;) (er, I mean &amp;ldquo;update&amp;rdquo;), I encountered the classic UI paradox where you&amp;rsquo;re forced to choose from a set of equally undesirable choices, this time with a bonus.&lt;/p&gt;
&lt;p&gt;I received error 1321. My choices were to retry or cancel. If I chose to retry, I got the same error again. If I chose to cancel, I got a bonus question: it asked whether I really wanted to cancel. I had to lie and choose yes, otherwise I would be trapped in an infinite loop.&lt;/p&gt;</description></item><item><title>Missing Language Pack DWG File Repair</title><link>https://www.manusoft.com/archive/blog/missing-language-pack-dwg-file-repair/</link><pubDate>Thu, 22 Jul 2010 00:11:46 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/missing-language-pack-dwg-file-repair/</guid><description>&lt;p&gt;I &lt;a href="https://www.manusoft.com/2009/08/autocad-anguage-pack-drawing-file.htm"&gt;wrote before&lt;/a&gt; about corrupt text causing bogus &amp;ldquo;Missing Language Pack&amp;rdquo; warnings in AutoCAD. That case prompted me to write a file repair utility. However, since the case appeared to be isolated, I never released the utility to the public.&lt;/p&gt;
&lt;p&gt;The problem has been &lt;a href="https://www.cadnauseam.com/2010/07/22/partial-fix-for-language-pack-problem/"&gt;rearing its ugly head again&lt;/a&gt;, so I decided to dust off the original code and release it. The repair utility is now available on the &lt;a href="https://www.manusoft.com/resources/freebies/arx/"&gt;freebies page&lt;/a&gt; (look for CleanLanguage.zip) for AutoCAD 2007 and later versions of AutoCAD. I have not tested any recent cases, so I can&amp;rsquo;t be sure it is the same problem. If you try the utility, please report your results by &lt;a href="https://www.manusoft.com/about/"&gt;leaving a comment here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>GlowCode Success Story</title><link>https://www.manusoft.com/archive/blog/glowcode-success-story/</link><pubDate>Sat, 12 Jun 2010 18:56:33 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/glowcode-success-story/</guid><description>&lt;p&gt;I use GlowCode (&lt;a href="http://www.glowcode.com"&gt;http://www.glowcode.com&lt;/a&gt;) for profiling ObjectARX applications. As far as I know, this is the only profiler that works with AutoCAD. What makes GlowCode special is that it can instrument code on the fly, including a monster like AutoCAD. It has a clunky interface that takes some patience to figure out, but it&amp;rsquo;s a lifesaver when you need it.&lt;/p&gt;</description></item><item><title>AutoCAD 2011 EULA Changes</title><link>https://www.manusoft.com/archive/blog/autocad-2011-eula-changes/</link><pubDate>Sun, 02 May 2010 02:44:40 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/autocad-2011-eula-changes/</guid><description>&lt;p&gt;For AutoCAD 2011, Autodesk made relatively few changes in the EULA. They fixed the &lt;a href="https://www.manusoft.com/2009/03/whats-new-in-autocad-2010-eula.htm"&gt;grammar error that was introduced in AutoCAD 2010&lt;/a&gt;, but they didn&amp;rsquo;t make any changes to the convoluted &amp;ldquo;License Grant&amp;rdquo; wording that was also added in AutoCAD 2010.&lt;/p&gt;</description></item><item><title>AutoCAD for Mac</title><link>https://www.manusoft.com/archive/blog/autocad-for-mac/</link><pubDate>Sat, 10 Apr 2010 16:51:11 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/autocad-for-mac/</guid><description>&lt;p&gt;There have been rumblings (&lt;a href="http://autodesk.blogs.com/between_the_lines/2009/04/i-need-your-input-on-autocad-for-the-apple-mac-os-x.html"&gt;http://autodesk.blogs.com/between_the_lines/2009/04/i-need-your-input-on-autocad-for-the-apple-mac-os-x.html&lt;/a&gt;) and &lt;a href="http://autocadder.blogspot.com/2010/01/autocad-2011-natively-on-mac.html"&gt;rumors&lt;/a&gt; for a while now about a native Mac OS X port of AutoCAD. The ObjectARX 2011 SDK header files contain clear evidence of a native Mac port in the works. The evidence comes in the form of code comments and changes made to the files so that they work with the GCC compiler and the Mac OS X libraries.&lt;/p&gt;</description></item><item><title>Port Your ObjectARX Code to 64 Bit</title><link>https://www.manusoft.com/archive/blog/port-your-objectarx-code-to-64-bit/</link><pubDate>Thu, 11 Mar 2010 23:08:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/port-your-objectarx-code-to-64-bit/</guid><description>&lt;p&gt;AutoCAD versions since AutoCAD 2008 (and since AutoCAD LT 2009) have included both 32 bit and 64 bit flavors on the same media. If you install on a 64 bit Windows system, you get the 64 bit AutoCAD; otherwise you get the 32 bit AutoCAD. The 64 bit AutoCAD can take advantage of as much memory as you can throw at it, whereas the 32 bit version is limited to 2 GB (3 GB if you cheat). They should be otherwise identical in theory, but in practice there are major differences.&lt;br /&gt;&lt;br /&gt;One big difference is VBA. Microsoft put VBA out to pasture many years ago when they introduced the .NET framework, so there will never be a 64 bit version of VBA. Autodesk had to resort to a seriously inefficient kludge to get it to work at all in the 64 bit flavor of AutoCAD (VBA has to run in a separate 32 bit process, which makes typical applications two orders of magnitude slower).&lt;br /&gt;&lt;br /&gt;The other big difference is that any third party ObjectARX applications must be installed for the correct architecture. A 32 bit ObjectARX application will not work in a 64 bit AutoCAD. [Note that .NET (or &amp;ldquo;managed&amp;rdquo;) applications typically work fine in both architectures &amp;ndash; I&amp;rsquo;m referring to native C++ ObjectARX applications only.]&lt;br /&gt;&lt;br /&gt;On the Autodesk discussion groups, many people ask how they can install the 32 bit version of AutoCAD on their new 64 bit operating system. Why would they want to do that? Almost always because they need to use an application that is only available for 32 bit AutoCAD architectures, or because they discover that their VBA applications become unbearably slow.&lt;br /&gt;&lt;br /&gt;It is possible, with some hacking of the AutoCAD installation database, to install the 32 bit flavor of AutoCAD on a 64 bit system, but I don&amp;rsquo;t recommend that. There is just no excuse any more to not support the 64 bit architecture. If you find yourself in this situation, put pressure on the developer of the application to get it ported.&lt;br /&gt;&lt;br /&gt;In fact, if you rely on an application that hasn&amp;rsquo;t been ported to the 64 bit architecture, I&amp;rsquo;d like to hear from you. Add a comment to this post and let me know the name of the application. If you are a vendor or developer that has not yet ported your 32 bit application, please &lt;a href="mailto:owenw@manusoft.com"&gt;contact me&lt;/a&gt; &amp;ndash; I will gladly port it for you. Even large applications can typically be ported in several hours.&lt;br /&gt;&lt;br /&gt;BTW, I am well aware that even Autodesk is guilty of not supporting 64 bit platforms in some of its vertical market AutoCAD versions (and corresponding object enablers). I certainly hope they remedy that situation in the next release cycle.&lt;/p&gt;</description></item><item><title>RIP Alan Kalameja</title><link>https://www.manusoft.com/archive/blog/rip-alan-kalameja/</link><pubDate>Tue, 09 Mar 2010 13:05:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/rip-alan-kalameja/</guid><description>&lt;p&gt;I saw in the March 8 edition of the TenLinks Daily newsletter (&lt;a href="http://www.tenlinks.com/news/tl_daily.htm"&gt;http://www.tenlinks.com/news/tl_daily.htm&lt;/a&gt;) that Alan Kalameja passed away (&lt;a href="http://www.postandcourier.com/news/2010/mar/06/deaths-summary/"&gt;http://www.postandcourier.com/news/2010/mar/06/deaths-summary/&lt;/a&gt;) at age 55. Condolences to his family. Alan hired me to write test questions for an AutoCAD certification exam in the early &amp;rsquo;90s (I don&amp;rsquo;t recall which version, but probably either R12 or R13). That was one of my first real contracting jobs. Although it wasn&amp;rsquo;t very glamorous, it made me feel important, and undoubtedly helped focus my fledgling consulting business on AutoCAD. Thanks, Alan, for giving me that opportunity.&lt;/p&gt;</description></item><item><title>Automatic LISP Loading</title><link>https://www.manusoft.com/archive/blog/automatic-lisp-loading/</link><pubDate>Thu, 24 Dec 2009 12:12:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/automatic-lisp-loading/</guid><description>&lt;p&gt;There are a myriad of ways to load AutoLISP applications in AutoCAD, including acaddoc.lsp, an .mnl file, the Startup Suite, and manually by various means. For application developers wishing to deploy their applications to others, all of these methods have drawbacks. The ideal solution should be easy to implement in an installation program, require minimal or zero changes to the user&amp;rsquo;s AutoCAD configuration, work the same way across all versions of AutoCAD, and easily undone when the application is uninstalled.&lt;/p&gt;</description></item><item><title>ArxDbg Utility</title><link>https://www.manusoft.com/archive/blog/arxdbg-utility/</link><pubDate>Wed, 23 Sep 2009 18:31:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/arxdbg-utility/</guid><description>&lt;p&gt;ArxDbg is the name of a sample project that has been included with the ObjectARX SDK for many years. It&amp;rsquo;s primary purpose is to demonstrate how to use the ObjectARX API, but it is a complete free-standing utility in its own right. ObjectARX programmers often use this utility during development for testing and exercising their application code, but it can be useful to anybody, not just programmers.&lt;/p&gt;</description></item><item><title>AutoCAD Missing Language Pack Drawing File Corruption</title><link>https://www.manusoft.com/archive/blog/autocad-anguage-pack-drawing-file/</link><pubDate>Mon, 03 Aug 2009 13:38:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/autocad-anguage-pack-drawing-file/</guid><description>&lt;p&gt;I&amp;rsquo;ve been chasing a drawing corruption problem on behalf of a customer. The problem manifests itself by causing a &amp;ldquo;Missing Language Pack&amp;rdquo; dialog to display when the drawing is opened (but only in Windows XP with no language packs installed &amp;ndash; my Vista installation apparently has all the language packs installed). Installing the language packs &amp;ldquo;fixes&amp;rdquo; the problem, in that the drawing files open without error.&lt;br /&gt;&lt;br /&gt;However, the real problem is that some drawing objects were corrupted in memory, and corrupt data was subsequently written to the .dwg file. My customer thinks the corruption might be linked to a virus that they were infected with (and have since eliminated). I have a copy of the virus for testing, but I have not been able to catch it in the act of corrupting an open drawing file. Therefore, I cannot conclusively link the virus with the corruption.&lt;br /&gt;&lt;br /&gt;So, I need your help. Have you recently noticed a &amp;ldquo;Missing Language Pack&amp;rdquo; dialog appearing in drawing files that have opened fine in the past? Has your virus scanner recently detected an AutoCAD related virus? If you have, please &lt;a href="mailto:owenw@manusoft.com?subject=Language%20Pack%20Corruption"&gt;send me an email&lt;/a&gt; describing your situation and AutoCAD versions involved. I would like to determine conclusively whether the virus is causing drawing file corruption, and if so, whether the corruption is always in the same location of the drawing file.&lt;br /&gt;&lt;br /&gt;[Update: Autodesk has released a technical document with information about the virus (http://usa.autodesk.com/getdoc/id=TS13717811). See also Shaan Hurley&amp;rsquo;s blog post (http://autodesk.blogs.com/between_the_lines/2009/08/malicious-code-alert-acadvlx-and-solution.html).]&lt;/p&gt;</description></item><item><title>Disable InfoCenter in AutoCAD 2010</title><link>https://www.manusoft.com/archive/blog/disable-infocenter-in-autocad-2010/</link><pubDate>Mon, 30 Mar 2009 18:13:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/disable-infocenter-in-autocad-2010/</guid><description>&lt;p&gt;&lt;em&gt;[Update: See &lt;a href="https://www.manusoft.com/2010/11/disable-autocad-infocenter.htm"&gt;Disable AutoCAD InfoCenter&lt;/a&gt;]&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In case you missed it, Tony Tanzillo has posted instructions (&lt;a href="http://discussion.autodesk.com/forums/thread.jspa?threadID=721735&amp;amp;tstart=1"&gt;http://discussion.autodesk.com/forums/thread.jspa?threadID=721735&amp;tstart=1&lt;/a&gt;) for disabling the InfoCenter in AutoCAD 2010. AutoCAD 2010 starts faster when the InfoCenter is disabled.&lt;/p&gt;
&lt;p&gt;To make it easy, I&amp;rsquo;ve created an AutoLISP file that defines commands named DisableInfoCenter and EnableInfoCenter:&lt;/p&gt;</description></item><item><title>ObjectARX 2010: Dealing With Missing Exports</title><link>https://www.manusoft.com/archive/blog/objectarx-2010-dealing-with-missing/</link><pubDate>Sat, 28 Mar 2009 16:54:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/objectarx-2010-dealing-with-missing/</guid><description>&lt;p&gt;In the new ObjectARX 2010 SDK, Autodesk has added some new virtual member functions that are not exported as they should be. For example, the AcGiFaceData class has had two new virtual functions added for setting and getting the face transparency:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color:#990000;"&gt;class&lt;/span&gt; AcGiFaceData&lt;b&gt;&lt;span style="color:#663300;"&gt;:&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt; public&lt;/span&gt; AcRxObject&lt;b&gt;&lt;span style="color:#663300;"&gt;&lt;br /&gt;{&lt;/span&gt;&lt;/b&gt;&lt;i&gt;&lt;span style="color:#999999;"&gt;&lt;br /&gt;//[&amp;hellip; deleted for brevity]&lt;br /&gt;&lt;/span&gt;&lt;/i&gt; ACDB_PORT&lt;span style="color:#990000;"&gt; virtual&lt;/span&gt; AcDbObjectId&lt;b&gt;&lt;span style="color:#663300;"&gt;&lt;em&gt;&lt;/span&gt;&lt;/b&gt; materials&lt;b&gt;&lt;span style="color:#663300;"&gt;()&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt; const&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt;;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt; ACDB_PORT&lt;span style="color:#990000;"&gt; virtual&lt;/span&gt; AcGiMapper&lt;b&gt;&lt;span style="color:#663300;"&gt;&lt;/em&gt;&lt;/span&gt;&lt;/b&gt; mappers&lt;b&gt;&lt;span style="color:#663300;"&gt;()&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt; const&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#990000;"&gt; virtual&lt;/span&gt;&lt;span style="color:#ff6633;"&gt; void&lt;/span&gt; setTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt;(&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;const&lt;/span&gt; AcCmTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt; &lt;em&gt;&lt;/span&gt;&lt;/b&gt;transparency&lt;b&gt;&lt;span style="color:#663300;"&gt;);&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;&lt;br /&gt; virtual&lt;/span&gt; AcCmTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt;&lt;/em&gt;&lt;/span&gt;&lt;/b&gt; transparency&lt;b&gt;&lt;span style="color:#663300;"&gt;()&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt; const&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:#990000;"&gt;&lt;br /&gt;private&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt;:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt; AcGiImpFaceData&lt;b&gt;&lt;span style="color:#663300;"&gt; &lt;em&gt;&lt;/span&gt;&lt;/b&gt;mpAcGiImpFaceData&lt;b&gt;&lt;span style="color:#663300;"&gt;;&lt;br /&gt;};&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;As you can see, whoever added the new functions neglected to prefix them with the ACDB_PORT macro. ACDB_PORT evaluates to __declspec(export), which tells the compiler to export the function. Since the macro is missing, the new functions are not exported from acdb18.dll.&lt;br /&gt;&lt;br /&gt;Since these are virtual functions, you won&amp;rsquo;t have any problems calling them through a pointer to an AcGiFaceData object that was constructed by AutoCAD. The problem arises when you derive a class from AcGiFaceData. Since the functions are not exported, the linker has no way of resolving their address for creating the virtual function table of your derived class. This results in linker errors:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;acrxEntryPoint.obj : error LNK2001: unresolved external symbol &amp;ldquo;public: virtual void __thiscall AcGiFaceData::setTransparency(class AcCmTransparency const &lt;em&gt;)&amp;rdquo; (?setTransparency@AcGiFaceData@@UAEXPBVAcCmTransparency@@@Z)&lt;br /&gt;acrxEntryPoint.obj : error LNK2001: unresolved external symbol &amp;ldquo;public: virtual class AcCmTransparency * __thiscall AcGiFaceData::transparency(void)const &amp;quot; (?transparency@AcGiFaceData@@UBEPAVAcCmTransparency@@XZ)&lt;/blockquote&gt;Following is an example that results in these errors:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color:#990000;"&gt;class&lt;/span&gt; AcGiFaceDataEx&lt;b&gt;&lt;span style="color:#663300;"&gt;:&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt; public&lt;/span&gt; AcGiFaceData&lt;b&gt;&lt;span style="color:#663300;"&gt;&lt;br /&gt;{&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;&lt;br /&gt;public&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt;:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt; AcGiFaceDataEx&lt;b&gt;&lt;span style="color:#663300;"&gt;() {}&lt;br /&gt; ~&lt;/span&gt;&lt;/b&gt;AcGiFaceDataEx&lt;b&gt;&lt;span style="color:#663300;"&gt;() {}&lt;br /&gt;}&lt;/span&gt;&lt;/b&gt; Test&lt;b&gt;&lt;span style="color:#663300;"&gt;;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The only solution is to provide an implementation of the missing functions. In this case, it could be accomplished by something like this:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color:#990000;"&gt;class&lt;/span&gt; AcGiFaceDataEx&lt;b&gt;&lt;span style="color:#663300;"&gt;:&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt; public&lt;/span&gt; AcGiFaceData&lt;b&gt;&lt;span style="color:#663300;"&gt;&lt;br /&gt;{&lt;/span&gt;&lt;/b&gt;&lt;br /&gt; AcCmTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt;&lt;/em&gt;&lt;/span&gt;&lt;/b&gt; mpTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt;;&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;&lt;br /&gt;public&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt;:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt; AcGiFaceDataEx&lt;b&gt;&lt;span style="color:#663300;"&gt;() :&lt;/span&gt;&lt;/b&gt; mpTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt;(&lt;/span&gt;&lt;/b&gt; NULL&lt;b&gt;&lt;span style="color:#663300;"&gt; ) {}&lt;br /&gt; ~&lt;/span&gt;&lt;/b&gt;AcGiFaceDataEx&lt;b&gt;&lt;span style="color:#663300;"&gt;() {&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt; delete&lt;/span&gt; mpTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt;; }&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;&lt;br /&gt; virtual&lt;/span&gt;&lt;span style="color:#ff6633;"&gt; void&lt;/span&gt; setTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt;(&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;const&lt;/span&gt; AcCmTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt; &lt;em&gt;&lt;/span&gt;&lt;/b&gt;transparency&lt;b&gt;&lt;span style="color:#663300;"&gt;)&lt;br /&gt; {&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;&lt;br /&gt; delete&lt;/span&gt; mpTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt;;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt; mpTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt; = (&lt;/span&gt;&lt;/b&gt;transparency&lt;b&gt;&lt;span style="color:#663300;"&gt;?&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt; new&lt;/span&gt; AcCmTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt;( &lt;em&gt;&lt;/span&gt;&lt;/b&gt;transparency&lt;b&gt;&lt;span style="color:#663300;"&gt; ) :&lt;/span&gt;&lt;/b&gt; NULL&lt;b&gt;&lt;span style="color:#663300;"&gt;);&lt;br /&gt; }&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;&lt;br /&gt; virtual&lt;/span&gt; AcCmTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt;&lt;/em&gt;&lt;/span&gt;&lt;/b&gt; transparency&lt;b&gt;&lt;span style="color:#663300;"&gt;()&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt; const&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt; {&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff0000;"&gt; return&lt;/span&gt; mpTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt;; }&lt;br /&gt;}&lt;/span&gt;&lt;/b&gt; Test&lt;b&gt;&lt;span style="color:#663300;"&gt;;&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;This will fix the linker errors, but there is no guarantee that it will work as intended. AutoCAD might access its internal transparency value directly without calling through the member functions, which means it would never &amp;ldquo;see&amp;rdquo; the transparency set through the replacement member functions. Furthermore, the addition of the new pointer member changes the size of the class, which causes AcGiFaceDataEx arrays to have a different memory footprint than AcGiFaceData arrays. Lastly, what if Autodesk fixes the problem in a future AutoCAD service pack?&lt;br /&gt;&lt;br /&gt;The ideal solution should not change the size of the class. It should check at runtime whether the function is exported, then use the exported function if it exists. That way, code that is written now will use the exported function if and when it becomes available in a future version of AutoCAD. When the function is not exported, an alternate implementation must be provided. This is not an unusual scenario, and the solution I present for the specific case of AcGiFaceData can be adapted to the more general problem.&lt;br /&gt;&lt;br /&gt;In the AcGiFaceData case, the missing functions are virtual functions. Knowing this, it is possible to use a trick to get the address of the real function. In the code below, the function getAcGiFaceData_vtable() constructs a temporary AcGiFaceData object, from which it extracts a pointer to the object&amp;rsquo;s virtual function table. The virtual function table is just an array of function pointers, so the address of the desired function can be obtained by indexing into the virtual function table. The question is, how far? By counting virtual functions and data members starting from the top of the class hierarchy: in this case, 6 virtual functions in AcRxObject plus 16 virtual functions in AcGiFaceData = 22.&lt;br /&gt;&lt;br /&gt;Note that obtaining a function pointer this way relies on Visual C++ implementation details, but this is safe to do since all ObjectARX modules must be compiled in Visual C++.&lt;br /&gt;&lt;br /&gt;Following is my solution to the missing AcGiFaceData functions:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color:#000099;"&gt;#pragma warning(push)&lt;br /&gt;#pragma warning(disable: 4608)&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#990000;"&gt;template&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt; &amp;lt;&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt; typename&lt;/span&gt; Src&lt;b&gt;&lt;span style="color:#663300;"&gt;,&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt; typename&lt;/span&gt; Dest&lt;b&gt;&lt;span style="color:#663300;"&gt; &amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;Dest force_cast&lt;b&gt;&lt;span style="color:#663300;"&gt;(&lt;/span&gt;&lt;/b&gt; Src src&lt;b&gt;&lt;span style="color:#663300;"&gt; )&lt;br /&gt;{&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;&lt;br /&gt; union&lt;/span&gt; _convertor&lt;b&gt;&lt;span style="color:#663300;"&gt; {&lt;/span&gt;&lt;/b&gt; Dest d&lt;b&gt;&lt;span style="color:#663300;"&gt;;&lt;/span&gt;&lt;/b&gt; Src s&lt;b&gt;&lt;span style="color:#663300;"&gt;;&lt;/span&gt;&lt;/b&gt; _convertor&lt;b&gt;&lt;span style="color:#663300;"&gt;() :&lt;/span&gt;&lt;/b&gt; d&lt;b&gt;&lt;span style="color:#663300;"&gt;(&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#999900;"&gt;0&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt;),&lt;/span&gt;&lt;/b&gt; s&lt;b&gt;&lt;span style="color:#663300;"&gt;(&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#999900;"&gt;0&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt;) {} }&lt;/span&gt;&lt;/b&gt; convertor&lt;b&gt;&lt;span style="color:#663300;"&gt;;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt; convertor&lt;b&gt;&lt;span style="color:#663300;"&gt;.&lt;/span&gt;&lt;/b&gt;s&lt;b&gt;&lt;span style="color:#663300;"&gt; =&lt;/span&gt;&lt;/b&gt; src&lt;b&gt;&lt;span style="color:#663300;"&gt;;&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt; return&lt;/span&gt; convertor&lt;b&gt;&lt;span style="color:#663300;"&gt;.&lt;/span&gt;&lt;/b&gt;d&lt;b&gt;&lt;span style="color:#663300;"&gt;;&lt;br /&gt;}&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#000099;"&gt;&lt;br /&gt;#pragma warning(pop)&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#990000;"&gt;&lt;br /&gt;static&lt;/span&gt; FARPROC&lt;b&gt;&lt;span style="color:#663300;"&gt;&lt;/em&gt;&lt;/span&gt;&lt;/b&gt; getAcGiFaceData_vtable&lt;b&gt;&lt;span style="color:#663300;"&gt;()&lt;br /&gt;{&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;&lt;br /&gt; static&lt;/span&gt; FARPROC&lt;b&gt;&lt;span style="color:#663300;"&gt;&lt;/em&gt;&lt;/span&gt;&lt;/b&gt; rfVTable&lt;b&gt;&lt;span style="color:#663300;"&gt; = &lt;em&gt;(&lt;/span&gt;&lt;/b&gt;FARPROC&lt;b&gt;&lt;span style="color:#663300;"&gt;**)&amp;amp;&lt;/span&gt;&lt;/b&gt;AcGiFaceData&lt;b&gt;&lt;span style="color:#663300;"&gt;();&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt; return&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt; (&lt;/span&gt;&lt;/b&gt;rfVTable&lt;b&gt;&lt;span style="color:#663300;"&gt;?&lt;/span&gt;&lt;/b&gt; rfVTable&lt;b&gt;&lt;span style="color:#663300;"&gt; :&lt;/span&gt;&lt;/b&gt; NULL&lt;b&gt;&lt;span style="color:#663300;"&gt;);&lt;br /&gt;}&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff6633;"&gt;&lt;br /&gt;&lt;br /&gt;void&lt;/span&gt; AcGiFaceData&lt;b&gt;&lt;span style="color:#663300;"&gt;::&lt;/span&gt;&lt;/b&gt;setTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt;(&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt; const&lt;/span&gt; AcCmTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt;&lt;/em&gt;&lt;/span&gt;&lt;/b&gt; transparency&lt;b&gt;&lt;span style="color:#663300;"&gt; )&lt;br /&gt;{&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;&lt;br /&gt; typedef&lt;/span&gt;&lt;span style="color:#ff6633;"&gt; void&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt; (&lt;/span&gt;&lt;/b&gt;AcGiFaceData&lt;b&gt;&lt;span style="color:#663300;"&gt;::&lt;em&gt;&lt;/span&gt;&lt;/b&gt;F_setTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt;)(&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt; const&lt;/span&gt; AcCmTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt;&lt;/em&gt; );&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;&lt;br /&gt; static&lt;/span&gt; F_setTransparency pfSetTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt; =&lt;/span&gt;&lt;/b&gt; force_cast&lt;b&gt;&lt;span style="color:#663300;"&gt;&amp;lt;&lt;/span&gt;&lt;/b&gt; FARPROC&lt;b&gt;&lt;span style="color:#663300;"&gt;,&lt;/span&gt;&lt;/b&gt; F_setTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt; &amp;gt;(&lt;/span&gt;&lt;/b&gt;GetProcAddress&lt;b&gt;&lt;span style="color:#663300;"&gt;(&lt;/span&gt;&lt;/b&gt; GetModuleHandleA&lt;b&gt;&lt;span style="color:#663300;"&gt;(&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#009900;"&gt; &amp;ldquo;acdb18.dll&amp;rdquo;&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt;),&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#009900;"&gt; &amp;ldquo;?setTransparency@AcGiFaceData@@UEAAXPEBVAcCmTransparency@@@Z&amp;rdquo;&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt; ));&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt; if&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt;( !&lt;/span&gt;&lt;/b&gt;pfSetTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt; )&lt;br /&gt; {&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;&lt;br /&gt; static&lt;/span&gt; FARPROC&lt;b&gt;&lt;span style="color:#663300;"&gt;&lt;em&gt;&lt;/span&gt;&lt;/b&gt; rfVTable&lt;b&gt;&lt;span style="color:#663300;"&gt; =&lt;/span&gt;&lt;/b&gt; getAcGiFaceData_vtable&lt;b&gt;&lt;span style="color:#663300;"&gt;();&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt; if&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt;(&lt;/span&gt;&lt;/b&gt; rfVTable&lt;b&gt;&lt;span style="color:#663300;"&gt; )&lt;/span&gt;&lt;/b&gt;&lt;br /&gt; pfSetTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt; =&lt;/span&gt;&lt;/b&gt; force_cast&lt;b&gt;&lt;span style="color:#663300;"&gt;&amp;lt;&lt;/span&gt;&lt;/b&gt; FARPROC&lt;b&gt;&lt;span style="color:#663300;"&gt;,&lt;/span&gt;&lt;/b&gt; F_setTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt; &amp;gt;(&lt;/span&gt;&lt;/b&gt; rfVTable&lt;b&gt;&lt;span style="color:#663300;"&gt;[&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#999900;"&gt;22&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt;] );&lt;br /&gt; }&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt; if&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt;(&lt;/span&gt;&lt;/b&gt; pfSetTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt; )&lt;br /&gt; (&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;this&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt;-&amp;gt;&lt;/em&gt;&lt;/span&gt;&lt;/b&gt;pfSetTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt;)(&lt;/span&gt;&lt;/b&gt; transparency&lt;b&gt;&lt;span style="color:#663300;"&gt; );&lt;br /&gt;}&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;AcCmTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt;&lt;em&gt;&lt;/span&gt;&lt;/b&gt; AcGiFaceData&lt;b&gt;&lt;span style="color:#663300;"&gt;::&lt;/span&gt;&lt;/b&gt;transparency&lt;b&gt;&lt;span style="color:#663300;"&gt;()&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt; const&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt;&lt;br /&gt;{&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;&lt;br /&gt; typedef&lt;/span&gt; AcCmTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt;&lt;/em&gt; (&lt;/span&gt;&lt;/b&gt;AcGiFaceData&lt;b&gt;&lt;span style="color:#663300;"&gt;::&lt;em&gt;&lt;/span&gt;&lt;/b&gt;F_transparency&lt;b&gt;&lt;span style="color:#663300;"&gt;)()&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt; const&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt;;&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;&lt;br /&gt; static&lt;/span&gt; F_transparency pfTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt; =&lt;/span&gt;&lt;/b&gt; force_cast&lt;b&gt;&lt;span style="color:#663300;"&gt;&amp;lt;&lt;/span&gt;&lt;/b&gt; FARPROC&lt;b&gt;&lt;span style="color:#663300;"&gt;,&lt;/span&gt;&lt;/b&gt; F_transparency&lt;b&gt;&lt;span style="color:#663300;"&gt; &amp;gt;(&lt;/span&gt;&lt;/b&gt;GetProcAddress&lt;b&gt;&lt;span style="color:#663300;"&gt;(&lt;/span&gt;&lt;/b&gt; GetModuleHandleA&lt;b&gt;&lt;span style="color:#663300;"&gt;(&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#009900;"&gt; &amp;ldquo;acdb18.dll&amp;rdquo;&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt;),&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#009900;"&gt; &amp;ldquo;?transparency@AcGiFaceData@@UEBAPEAVAcCmTransparency@@XZ&amp;rdquo;&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt; ));&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt; if&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt;( !&lt;/span&gt;&lt;/b&gt;pfTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt; )&lt;br /&gt; {&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;&lt;br /&gt; static&lt;/span&gt; FARPROC&lt;b&gt;&lt;span style="color:#663300;"&gt;&lt;/em&gt;&lt;/span&gt;&lt;/b&gt; rfVTable&lt;b&gt;&lt;span style="color:#663300;"&gt; =&lt;/span&gt;&lt;/b&gt; getAcGiFaceData_vtable&lt;b&gt;&lt;span style="color:#663300;"&gt;();&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt; if&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt;(&lt;/span&gt;&lt;/b&gt; rfVTable&lt;b&gt;&lt;span style="color:#663300;"&gt; )&lt;/span&gt;&lt;/b&gt;&lt;br /&gt; pfTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt; =&lt;/span&gt;&lt;/b&gt; force_cast&lt;b&gt;&lt;span style="color:#663300;"&gt;&amp;lt;&lt;/span&gt;&lt;/b&gt; FARPROC&lt;b&gt;&lt;span style="color:#663300;"&gt;,&lt;/span&gt;&lt;/b&gt; F_transparency&lt;b&gt;&lt;span style="color:#663300;"&gt; &amp;gt;(&lt;/span&gt;&lt;/b&gt; rfVTable&lt;b&gt;&lt;span style="color:#663300;"&gt;[&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#999900;"&gt;23&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt;] );&lt;br /&gt; }&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt; if&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt;(&lt;/span&gt;&lt;/b&gt; pfTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt; )&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt; return&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt; (&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#990000;"&gt;this&lt;/span&gt;&lt;b&gt;&lt;span style="color:#663300;"&gt;-&amp;gt;*&lt;/span&gt;&lt;/b&gt;pfTransparency&lt;b&gt;&lt;span style="color:#663300;"&gt;)();&lt;/span&gt;&lt;/b&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt; return&lt;/span&gt; NULL&lt;b&gt;&lt;span style="color:#663300;"&gt;;&lt;br /&gt;}&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/p&gt;</description></item><item><title>What's New in the AutoCAD 2010 EULA</title><link>https://www.manusoft.com/archive/blog/whats-new-in-autocad-2010-eula/</link><pubDate>Wed, 25 Mar 2009 00:55:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/whats-new-in-autocad-2010-eula/</guid><description>&lt;p&gt;Everyone else is discussing all the cool new features in AutoCAD 2010, so I decided to have a look at what&amp;rsquo;s new in the EULA (End User License Agreement). I compared the AutoCAD 2010 EULA for US/Canada to the AutoCAD 2009 EULA. I won&amp;rsquo;t divulge the process I used to automate the comparison, because the odds are pretty good that I violated the EULA somewhere along the way, and I want plausible deniability.&lt;br /&gt;&lt;br /&gt;The first change I noticed is that the AutoCAD 2010 EULA contains more shouting. The 2009 EULA started out in a fairly mellow mixed case with a few shouts thrown in for effect, but the 2010 EULA dispenses with the lower case and launches right into a multi-paragraph avalanche of screaming block letters. Apparently nobody was listening, so they turned up the volume.&lt;br /&gt;&lt;br /&gt;Substantively, there are a number of very interesting changes. The following was added to the preamble:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;SOFTWARE OBTAINED FROM THIRD PARTIES THAT HAVE NOT BEEN AUTHORIZED OR ALLOWED BY AUTODESK, DIRECTLY OR INDIRECTLY, TO SUPPLY SOFTWARE IS LIKELY TO HAVE BEEN MADE AVAILABLE IN VIOLATION OF AUTODESK’S RIGHTS. IN SUCH AN EVENT, AUTODESK IS NOT OBLIGATED TO ISSUE AN ACTIVATION CODE OR OTHERWISE PERMIT YOU TO INSTALL OR USE THE SOFTWARE.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Next time you&amp;rsquo;re eyeing that used copy of AutoCAD 2010 on eBay, be warned that Autodesk is not obligated to permit you to install or use the software. They don&amp;rsquo;t come right out and say that they won&amp;rsquo;t allow it, so maybe they won&amp;rsquo;t mind &amp;ndash; but then what&amp;rsquo;s the point of including this clause? Tim Vernor (&lt;a href="https://web.archive.org/web/2010/http://www.cadcourt.com/Docket/207cv01189.aspx"&gt;&lt;a href="http://www.cadcourt.com/Docket/207cv01189.aspx"&gt;http://www.cadcourt.com/Docket/207cv01189.aspx&lt;/a&gt;&lt;/a&gt;) won&amp;rsquo;t be very happy about this change.&lt;br /&gt;&lt;br /&gt;Moving along, I see that they added a definition for &amp;ldquo;Uninstall&amp;rdquo;, defining it as &amp;ldquo;to destroy or remove&amp;rdquo;. The definition of &amp;ldquo;User Documentation&amp;rdquo; was very slightly changed from &amp;ldquo;&amp;hellip;after You acquire or Install the Software&amp;hellip;&amp;rdquo; to &amp;ldquo;&amp;hellip;when or after You acquire or Install the Software&amp;hellip;&amp;rdquo;. Incidentally, did you know that Autodesk considers an AutoCAD reseller&amp;rsquo;s invoice to be &amp;ldquo;user documentation&amp;rdquo;?&lt;br /&gt;&lt;br /&gt;Rounding out changes in definitions is a change in the definition of &amp;ldquo;You&amp;rdquo;. Yes, Autodesk has redefined &amp;ldquo;You&amp;rdquo; whether &amp;ldquo;you&amp;rdquo; like it or not.&lt;br /&gt;&lt;br /&gt;I could go on and on about small wording changes, and while it would be interesting to contemplate why each change was made (and how many scheming lawyers it took to do it), we&amp;rsquo;d risk missing the forest for the trees.&lt;br /&gt;&lt;br /&gt;Section 2.1, &amp;ldquo;License Grant&amp;rdquo;, contains ominous new language. The following has been added:&lt;br /&gt;&lt;blockquote&gt;You may Access the application programming interfaces that may be included with or in the Software or otherwise available from Autodesk for use with the Software (“API’s”) to develop programs, modules, components or functionality that (i) are compatible with and are used and/or interfaced with the Software and (ii) contribute significant value-added functionality or enhancements to the Software (“API Modules”) provided You may Install and Access such API Modules solely on Computers where a licensed copy of the Software is also installed and further provided such Installation and Access is solely in connection with Your Installation and Access of the Software and solely for Your internal business needs. You may not redistribute all or any portion of an API Module.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Read that again. That&amp;rsquo;s right, you may not write any &amp;ldquo;programs, modules, components, or functionality&amp;rdquo; unless they &amp;ldquo;contribute significant value-added functionality or enhancements&amp;rdquo; to AutoCAD. Furthermore, if you do manage to write a program that adds significant functionality, you may not redistribute all or any part of it. What are those guys smoking out there in California?&lt;br /&gt;&lt;br /&gt;Finally at the end of section 2.1, they changed &amp;ldquo;No license is granted under the terms of this Agreement if You did not lawfully acquire the Software&amp;rdquo; to &amp;ldquo;No license is granted under the terms of this Agreement if You did not lawfully acquire the Software from Autodesk or from a third party who has been permitted or authorized by Autodesk either directly or indirectly to supply the Software&amp;rdquo;. Take &lt;em&gt;that&lt;/em&gt; Tim Vernor!&lt;br /&gt;&lt;br /&gt;In another nod to the Vernor case, section 2.3, &amp;ldquo;Upgrades&amp;rdquo;, adds a new requirement to &amp;ldquo;destroy all Autodesk Materials relating to the Previous Version or, upon request by Autodesk, return all such Autodesk Materials relating to the Previous Version to Autodesk or the company from which they were acquired&amp;rdquo;. This is important language that could persuade a court to view an AutoCAD purchase as a license instead of a sale, thereby giving Autodesk the power to control the secondary market.&lt;br /&gt;&lt;br /&gt;Interestingly, section 2.4, &amp;ldquo;Crossgrades&amp;rdquo;, requires that the previous software be uninstalled within 60 days, but has no requirement that it be destroyed. However, new language in section 2.7, &amp;ldquo;Termination&amp;rdquo;, which requires the software to be destroyed &amp;ldquo;upon termination of the license grant or this Agreement&amp;rdquo;, apparently covers both cases.&lt;br /&gt;&lt;br /&gt;A funny change in section 3.2.3, &amp;ldquo;Transfers&amp;rdquo;, appears to close a loophole. The AutoCAD 2009 EULA disallowed transfers to &amp;ldquo;any other person&amp;rdquo;; the AutoCAD 2010 EULA disallows transfers to &amp;ldquo;any other person or legal entity&amp;rdquo;. Considering a license transfer? Make sure it&amp;rsquo;s to an illegal entity!&lt;br /&gt;&lt;br /&gt;Section 4, &amp;ldquo;ALL RIGHTS RESERVED&amp;rdquo;, was rewritten. The rewrite introduced a grammatical error (&amp;ldquo;and You have not other rights&amp;rdquo;), but otherwise I don&amp;rsquo;t see that much changed. It still ends with the now familiar directive that &amp;ldquo;The Software and User Documentation are licensed, not sold.&amp;quot;&lt;br /&gt;&lt;br /&gt;Finally, the infamous &amp;ldquo;audit clause&amp;rdquo; has been revised. Not the way you may have hoped, I&amp;rsquo;m sad to report. Luckily the change was a minor one that doesn&amp;rsquo;t make the clause any more overbearing than it already was.&lt;br /&gt;&lt;br /&gt;Isn&amp;rsquo;t change wonderful?&lt;/p&gt;</description></item><item><title>Software Licensing: A Case For Reform</title><link>https://www.manusoft.com/archive/blog/software-licensing-case-for-reform/</link><pubDate>Sun, 01 Mar 2009 18:03:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/software-licensing-case-for-reform/</guid><description>&lt;p&gt;I want to consider software licensing practices in general, but with the specific facts and history in the &lt;a href="https://web.archive.org/web/2010/http://www.cadcourt.com/Docket/207cv01189.aspx"&gt;Vernor vs. Autodesk lawsuit&lt;/a&gt; as a backdrop.&lt;br /&gt;&lt;br /&gt;In the Vernor case, Tim Vernor purchased several boxes of AutoCAD software, and never even read, let alone agreed to, the terms of the license agreement inside the box. When Vernor listed the AutoCAD software for sale on Ebay, Autodesk sent Ebay a notice that claimed Vernor&amp;rsquo;s auction violated Autodesk&amp;rsquo;s copyright. In order to benefit from the safe harbor provisions of the Digital Millennium Copyright Act (&lt;a href="http://en.wikipedia.org/wiki/Dmca"&gt;DMCA&lt;/a&gt;), Ebay was obligated to remove the auctions. Vernor responded by filing a lawsuit accusing Autodesk of making false copyright violation claims.&lt;br /&gt;&lt;br /&gt;Additional facts have since come to light. For one, we&amp;rsquo;ve learned that the AutoCAD software that Vernor purchased had been previously upgraded to a newer version (&lt;a href="https://web.archive.org/web/2010/http://www.cadcourt.com/NewsFeed/tabid/53/EntryID/50/Default.aspx"&gt;&lt;a href="http://www.cadcourt.com/NewsFeed/tabid/53/EntryID/50/Default.aspx"&gt;http://www.cadcourt.com/NewsFeed/tabid/53/EntryID/50/Default.aspx&lt;/a&gt;&lt;/a&gt;). Vernor did not know this when he purchased the software; and in any case, it&amp;rsquo;s not clear that this fact has any bearing on the outcome of the suit.&lt;br /&gt;&lt;br /&gt;Given this set of facts, let&amp;rsquo;s analyze the Vernor case not from a purely legal perspective, but from a more abstract &amp;ldquo;moral&amp;rdquo; perspective. After all, society is the ultimate arbitrator of what is wrong and what is right with respect to our laws. We ultimately determine whether laws are fair by whether we follow them willingly (and whether we put pressure on our legislatures to change them).&lt;br /&gt;&lt;br /&gt;Steve Johnson opines that Autodesk is morally right (&lt;a href="http://www.blog.cadnauseam.com/2009/02/21/vernor-v-autodesk-why-i-think-autodesk-is-right/"&gt;http://www.blog.cadnauseam.com/2009/02/21/vernor-v-autodesk-why-i-think-autodesk-is-right/&lt;/a&gt;) in the Vernor case, because the software Vernor purchased was &amp;ldquo;tainted&amp;rdquo; due to having been upgraded by the original owner. &lt;strike&gt;In Steve&amp;rsquo;s view&amp;hellip;&lt;/strike&gt; &lt;em&gt;[see Steve&amp;rsquo;s comment below where he chides me for ascribing this view to him - O.W.]&lt;/em&gt; Presumably, one who holds this view sees Vernor&amp;rsquo;s original purchase as akin to someone purchasing stolen goods. With stolen goods, the law (and hopefully our moral compass) recognizes that the purchaser of the stolen goods has no legal right to them.&lt;br /&gt;&lt;br /&gt;Autodesk offered the original owner a discounted price for a newer version of AutoCAD in exchange for a promise to destroy the older version. The original owner reneged on its promise to destroy the old version, and sold it to an unwitting buyer instead.&lt;br /&gt;&lt;br /&gt;It follows that both Autodesk and Tim Vernor were treated unfairly by the company that sold the AutoCAD software to Vernor. Despite the company&amp;rsquo;s history of using pirated software, Autodesk gave them the benefit of the doubt when selling them a discounted upgrade. Vernor, by all accounts, had no idea and no way of knowing that the software he purchased had been previously upgraded. This is a recipe for disaster.&lt;br /&gt;&lt;br /&gt;Unfortunately, this sort of disaster is all too common. In many cases, software users simply don&amp;rsquo;t read license agreements. If they do read license agreements, they don&amp;rsquo;t understand them. After all, most of us are not lawyers, and we can&amp;rsquo;t reasonably be expected to hire a lawyer to evaluate the license agreements of every software product we use. How then can we be expected to follow them exactly and without fail?&lt;br /&gt;&lt;br /&gt;Consider that it&amp;rsquo;s entirely possible that the company from which Vernor bought his AutoCAD software had no idea that they had agreed to destroy the upgraded AutoCAD software. At least from a moral perspective, we can have some sympathy for the company if they honestly had no idea they were violating any agreements when they sold the software to Vernor.&lt;br /&gt;&lt;br /&gt;Could Autodesk have required the upgraded AutoCAD software to be returned, or required certification by an independent &amp;ldquo;software recycler&amp;rdquo; that it had been destroyed? Sure they could have. In fact, such requirements did exist in the early days of software license agreements. Had Autodesk done so, the Vernor court would probably have concluded that AutoCAD was licensed, not sold.&lt;br /&gt;&lt;br /&gt;Why even require the old version to be destroyed when upgrading? If we stop using the old version, why shouldn&amp;rsquo;t we be allowed to sell it at market value? Doesn&amp;rsquo;t recycling old software make just as much sense as recycling old tires? We have been conditioned to believe that discounted upgrades are good for us, but are they really?&lt;br /&gt;&lt;br /&gt;Would we accept a legal regime under which tire manufacturers could force us to destroy our old tires as part of the new tire purchase agreement? Oh, you say, that comparison isn&amp;rsquo;t valid because tires eventually wear out of their own accord, whereas old software continues working forever! First of all, old software doesn&amp;rsquo;t continue working forever. How many people still use &lt;a href="http://en.wikipedia.org/wiki/VisiCalc"&gt;VisiCalc&lt;/a&gt;? Furthermore, what would this line of reasoning conclude about potential tires of the future that last forever? We&amp;rsquo;d have to start licensing tires instead of purchasing them!&lt;br /&gt;&lt;br /&gt;What would happen if software vendors could not legally prevent &amp;ldquo;used&amp;rdquo; software from being resold on the open market, no matter how it was purchased or upgraded? For one, it would increase competition, because new versions of software would be competing not only against software from other vendors, but also against older versions of itself. In a world where software is priced based on what the market will bear, the net effect would be lower prices and higher quality (not to mention less frequent &amp;ldquo;upgrades&amp;rdquo;) for all software.&lt;br /&gt;&lt;br /&gt;I think the Vernor case is just one example illustrating how the current software licensing system has sprung a leak, and is in need of repair. Can it be patched, or does it need to be replaced? Can the bleeding be stopped at the ankle, or should it be stopped it at the neck? This is a classical case of the &lt;a href="https://www.manusoft.com/2009/02/petcock-problem.htm"&gt;Petcock Problem&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Software industry advocates like the Business Software Alliance (&lt;a href="http://www.bsa.org"&gt;BSA&lt;/a&gt;) proclaim that the solution is educating consumers. Education may be important, but I think that &amp;ldquo;educating consumers&amp;rdquo; should not be left to an industry alliance.&lt;br /&gt;&lt;br /&gt;I have some ideas about how the system can be reformed, but I think we have to start by recognizing that there&amp;rsquo;s a problem.&lt;/p&gt;</description></item><item><title>AECOPEN Utility</title><link>https://www.manusoft.com/archive/blog/aecopen-utility/</link><pubDate>Sat, 24 Jan 2009 17:07:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/aecopen-utility/</guid><description>&lt;p&gt;James Maeding of Hunsaker &amp;amp; Associates contacted me recently about an irritating problem that his users have with the AECOPEN command in Land Desktop. The AECOPEN command replaces the core AutoCAD OPEN command in AEC verticals. The problem they have is that AECOPEN displays an initial project dialog that requires users to press a [Browse] button to open the file browser dialog. Since they want to browse for a file every time they use the AECOPEN command, James wondered if I could create some code to automatically &amp;ldquo;press&amp;rdquo; the Browse button every time the AECOPEN command is issued.&lt;br /&gt;&lt;br /&gt;I whipped up a little utility for AutoCAD 2007-2009 based products to do what James wanted, and it is now available on my &lt;a href="https://www.manusoft.com/resources/freebies/arx/"&gt;freebies page&lt;/a&gt; as AecAutoOpen.zip. When the ARX module is loaded, AECOPEN behaves as if the user had immediately pressed the [Browse] button on the project dialog. If the [Ctrl] key is pressed, AECOPEN reverts to its original behavior.&lt;br /&gt;&lt;br /&gt;Why not just use the built in OPEN command instead? The AECOPEN command has some important side effects, according to James.&lt;/p&gt;</description></item><item><title>Missing Menu Madness</title><link>https://www.manusoft.com/archive/blog/missing-menu-madness/</link><pubDate>Mon, 22 Dec 2008 18:15:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/missing-menu-madness/</guid><description>&lt;p&gt;One of my many complaints about about the CUI system introduced in AutoCAD 2006 is that it's not very friendly to third party developers. In my opinion, it's not very friendly to end users either, but I digress...&lt;/p&gt;&lt;br /&gt;&lt;p&gt;One example of the unfriendly CUI is the case where a third party application installs a partial menu. In the pre-CUI days, adding a partial menu was an easy way to add an application specific menu to AutoCAD without making any changes to the end user's existing menu files. If the application was later uninstalled, the uninstall script could remove its menu and clean up the registry, leaving no trace behind. CUI breaks that scenario.&lt;/p&gt;</description></item><item><title>Design File Locking and Snake Oil Security</title><link>https://www.manusoft.com/archive/blog/design-file-locking-and-snake-oil/</link><pubDate>Sat, 06 Dec 2008 14:52:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/design-file-locking-and-snake-oil/</guid><description>&lt;p&gt;The increased sharing of electronic CAD data (ala &lt;a href="http://en.wikipedia.org/wiki/Building_Information_Modeling"&gt;BIM&lt;/a&gt;) holds a lot of promise, but it also exposes companies and individuals to additional liability and risk. This additional risk is coming into focus more and more as &lt;a href="https://www.manusoft.com/2007/01/autocad-drawing-files-possession-is-910.htm"&gt;actual cases of costly legal battles&lt;/a&gt; confront engineers and architects.&lt;br /&gt;&lt;br /&gt;The June 2008 &lt;a href="http://www.augi.com/autocad/results.asp?cycle=ACAD008"&gt;AUGI wishlist results&lt;/a&gt; contain &amp;ldquo;Design File Locking&amp;rdquo; as the top wish by a substantial margin, and Shaan Hurley lists it as number 3 in the AU 2008 AutoCAD wish list (&lt;a href="http://autodesk.blogs.com/between_the_lines/2008/12/au-2008-wednesday-autocad-wish-list.html%29"&gt;http://autodesk.blogs.com/between_the_lines/2008/12/au-2008-wednesday-autocad-wish-list.html)&lt;/a&gt;. Clearly, interest in file and IP security has been growing steadily.&lt;br /&gt;&lt;br /&gt;As demand for IP security grows, there are sure to be snake oil security vendors trying to cash in on it. I received a spam email a few days ago from SafeNet, Inc. promising &amp;ldquo;a cost-effective and easy to integrate solution that provides reliable and effective security through the use of digital signatures.&amp;rdquo; Whenever I see such statements with a long string of buzzwords, my snake oil alarm goes on alert. Digital signatures are for authentication and establishing trust &amp;ndash; they cannot and do not provide &amp;ldquo;reliable and effective security&amp;rdquo;, although I suppose they could be used by a system that does.&lt;br /&gt;&lt;br /&gt;In the last year or two, a number of companies have claimed to market software that &amp;ldquo;secures&amp;rdquo; AutoCAD DWG files. When I see such a claim, it invariably refers to software that creates an anonymous unequally scaled MINSERT entity. These can be created or &amp;ldquo;exploded&amp;rdquo; with a few lines of AutoLISP code. Frequently these companies claim to &amp;ldquo;encrypt&amp;rdquo; the drawing, which may sound sexy, but is an outright lie. If this is a level of &amp;ldquo;security&amp;rdquo; that meets your needs, at least use one of the many free versions posted throughout the internet (&lt;a href="http://www.dotsoft.com/freestuff.htm"&gt;DETER.VLX from DotSoft&lt;/a&gt; is one I know of).&lt;br /&gt;&lt;br /&gt;There are solutions, but they always require changes in the workflow process that involve difficult tradeoffs and careful evaluation of what is technically feasible and practical versus the costs of implementing the changes. There is no such thing as installing a single piece of software to instantly solve the problem. If you are looking for ways to protect intellectual property in your drawing files, don&amp;rsquo;t be fooled by snake oil security vendors.&lt;br /&gt;&lt;br /&gt;Disclaimer: One of my hats is the president of CADLock, Inc. (&lt;a href="https://web.archive.org/web/2010/http://www.cadlock.com/"&gt;&lt;a href="http://www.cadlock.com/"&gt;http://www.cadlock.com/&lt;/a&gt;&lt;/a&gt;), makers of &lt;a href="https://web.archive.org/web/2010/http://www.cadlock.com/products/CADVault/"&gt;CADVault for AutoCAD&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Update vs. Service Pack</title><link>https://www.manusoft.com/archive/blog/update-vs-service-pack/</link><pubDate>Sat, 27 Sep 2008 20:28:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/update-vs-service-pack/</guid><description>&lt;p&gt;Of course I&amp;rsquo;m talking about Autodesk&amp;rsquo;s newly reinvented nomenclature for bug fixes (&lt;a href="http://usa.autodesk.com/adsk/servlet/ps/dl/index?siteID=123112&amp;amp;id=2334435&amp;amp;linkID=9240618%29"&gt;http://usa.autodesk.com/adsk/servlet/ps/dl/index?siteID=123112&amp;id=2334435&amp;linkID=9240618)&lt;/a&gt;. Once upon a time they were known as bug fixes, then service packs, and now &amp;ldquo;updates&amp;rdquo;. Is the Autodesk marketing department running amok? The subtle spin is certainly a sign of the times, but I wonder if the change in terminology comes about for another reason as well.&lt;br /&gt;Autodesk promises &amp;ldquo;features extensions (&lt;a href="http://usa.autodesk.com/adsk/servlet/index?siteID=123112&amp;amp;id=612485%29%22"&gt;http://usa.autodesk.com/adsk/servlet/index?siteID=123112&amp;id=612485)"&lt;/a&gt; to subscription customers. They have had difficulty delivering such extensions on a consistent basis. One of the reasons, I suspect, is that developers of extensions encounter the same brick walls that third party developers battle all the time: AutoCAD bugs, of course; but also incomplete APIs and feature limitations. It&amp;rsquo;s possible that updates not only fix bugs, but also fill gaps so that extension developers can get their extensions working.&lt;br /&gt;Then again, the change in terminology might be part of a new fad. My wife, who is an engineer working in the automotive industry, informs me that they no longer issue drawing revisions in her company. Instead, they now issue &amp;ldquo;updates&amp;rdquo;. I wonder how long it will be before auto mechanics stop repairing cars and start updating them instead.&lt;/p&gt;</description></item><item><title>ManuSoft Software Updated for AutoCAD 2009</title><link>https://www.manusoft.com/archive/blog/manusoft-software-updated-for-autocad/</link><pubDate>Wed, 16 Apr 2008 01:10:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/manusoft-software-updated-for-autocad/</guid><description>&lt;p&gt;QuikPik and Periscope are now available for AutoCAD 2009, and SuperPurge will be available later this week. QuikPik users, note that the quick buttons feature does not work with buttons on the new ribbon UI.&lt;/p&gt;</description></item><item><title>Digital Signatures: Practical Guidelines</title><link>https://www.manusoft.com/archive/blog/digital-signatures-practical-guidelines/</link><pubDate>Mon, 10 Dec 2007 21:17:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/digital-signatures-practical-guidelines/</guid><description>&lt;p&gt;We use digital signatures every time we visit a secure web site. Visiting a secure web site involves an authentication process that includes verifying the identity of the server by ensuring that its digital certificate, or &amp;ldquo;server certificate&amp;rdquo;, is signed by a trusted certificate authority. This verification process might involve verifying an entire chain of certificates from the actual server certificate up through one or more intermediate certificate authorities and ending with a trusted root certificate authority. This all takes place quickly and automatically before the web page is displayed in your web browser because the web browser includes built in logic to do this work without any user interaction. More importantly, the web browser warns us when the server certificate is expired or invalid.&lt;br /&gt;&lt;br /&gt;The biggest obstacle when using digital certificates in a CAD environment today is not creating them, but easily and automatically verifying them at the receiving end. Even in a completely digital distribution system where everybody works from the CAD model, the various software tools we use to view and work with the model do not handle digital signature verification automatically in a standardized way. As long as downstream consumers of CAD data cannot easily and automatically ensure the trustworthiness of digital data, they will continue to rely on handwritten signatures on paper.&lt;br /&gt;&lt;br /&gt;A second obstacle to the use of digital signatures is the difficulty in accepting that digitally signed data is only trustworthy while it remains in digital format, and therefore the digital file is the &amp;ldquo;record&amp;rdquo; document. There is substantial social inertia that must be overcome before a digital document can gain the same amount of trust as a paper document. Engineers and architects must deal with the specter of previously hidden meta data in their CAD models becoming part of their signed document, thereby exposing them to new liabilities that don&amp;rsquo;t exist with paper drawings. Construction supervisors must learn to refer to the CAD model instead of relying on hardcopy blueprints when resolving disputes or establishing responsibility for errors. Here I think it should be noted that the use of a digitally signed model does not preclude the creation of hardcopy blueprints. Those can be created and &amp;ldquo;wet stamped&amp;rdquo; separately at the same time the CAD model is signed digitally; or they can be created in the field for reference without any signature at all.&lt;br /&gt;&lt;br /&gt;AutoCAD has supported digital signatures for several years, but using the built in functionality is limited to only individual DWG files, lacks support for co-signing (more than one person signing), and forces the signed document to remain in the proprietary DWG format or lose its signature. These problems can be worked around by using third party tools, but doing so requires recipients to use the same tools.&lt;br /&gt;&lt;br /&gt;Over the past few years, many government plan review bodies have amended laws and administrative rules to accommodate digital signatures as part of the plan review process. Without standardization, however, organizations still struggle to effect the necessary changes in their workflow. A lack of uniformity in terminology from one set of regulations to another adds to the confusion. If you are involved in amending or creating rules or regulations that enable the use of digital signatures, you should use generic and well defined terms of art in the regulations, but supplement these with practical guidelines that mention specific technologies, software tools, and file formats that will meet the legal requirements and that you are capable of working with.&lt;br /&gt;&lt;br /&gt;If you are an architect, engineer, or CAD manager working to implement digital signatures into your firm&amp;rsquo;s workflow, there are some concrete steps you can take to make the task easier. Start by segregating your distribution network into &amp;ldquo;digital-only&amp;rdquo; and &amp;ldquo;hardcopy&amp;rdquo; classes of downstream users. Begin the transition with the digital-only part of the network (perhaps only the plan reviewing authority, for example). Next, decide which file format to use for your digital &amp;ldquo;documents&amp;rdquo;. Rather than signing CAD files, many companies start by signing 2D output files such as PDF, DWFx, or XPS. These files are essentially digital versions of the hardcopy documents, so they are more familiar to a wider audience and avoid some of the liability issues of exposing formerly hidden metadata that lives within the CAD model files.&lt;br /&gt;&lt;br /&gt;You&amp;rsquo;ll need to obtain a digital ID and establish internal policies for storing and accessing the digital ID so that only the owner of the digital ID ever has access to the private key. Windows includes a built in certificate manager that you can use to view and manage your digital IDs. To start the certificate manager, run the certmgr.msc management console by entering its name in the Start -&amp;gt; Run command window. Your digital certificate will be installed in your personal certificates folder along with a link to the private key stored in the Windows secure key repository. Make a backup of the digital ID by exporting it to a password protected PFX file. Once a backup is made, the private key should be marked as not exportable to further secure it.&lt;br /&gt;&lt;br /&gt;If you want to create digitally signed AutoCAD DWG files, you can use the digital signature feature of AutoCAD to sign a drawing file either while saving it or after it is saved. You should also consider subscribing to a commercial time service (see &lt;a href="https://www.manusoft.com/archive/blog/what-time-is-it/"&gt;What time is it?&lt;/a&gt;) to ensure that your signatures are accompanied by a reliable time stamp in case your digital ID becomes compromised at some point in the future. Third party tools like &lt;a href="https://web.archive.org/web/2010/http://www.cadlock.com/products/CADVault/"&gt;CADVault for AutoCAD&lt;/a&gt; even make it possible for different people to sign different parts of the CAD model, but such advanced functionality is not needed in most cases.&lt;br /&gt;&lt;br /&gt;If you use different CAD software that does not support digital signatures natively, or if you choose to sign only the secondary files produced by exporting your CAD model to a different format, then you will need to use either tools specific to that format or third party tools that work with files of any format. Adobe Acrobat (&lt;a href="http://www.acrobat.com/"&gt;http://www.acrobat.com/&lt;/a&gt;) (PDF) and Microsoft&amp;rsquo;s free XPS Viewer (&lt;a href="http://www.microsoft.com/whdc/xps/viewxps.mspx"&gt;http://www.microsoft.com/whdc/xps/viewxps.mspx&lt;/a&gt;) both provide integrated digital signature tools that use the same digital IDs that you would use in AutoCAD, Internet Explorer, or Outlook/Windows Mail, and both applications are easy for recipients to obtain and use.&lt;br /&gt;&lt;br /&gt;Another popular tool for managing digital IDs and signing files is an open source tool called &lt;a href="http://www.gnupg.org/"&gt;GnuPG&lt;/a&gt;. GnuPG utilizes encryption and key storage standards called OpenPGP (&lt;a href="http://www.openpgp.org/about_openpgp/%29"&gt;http://www.openpgp.org/about_openpgp/)&lt;/a&gt;. OpenPGP is not compatible with the X.509 standard used by Windows and many other encryption tools, however it is an attractive alternative when cost or closed source tools are a prohibitive barrier. There are many other digital signature resources available on the internet for those wanting more information, or needing specialized tools.&lt;br /&gt;&lt;br /&gt;Unfortunately, no matter what software tools or file formats you use, today&amp;rsquo;s CAD software and document viewers still do not provide the user experience that web browsers do when it comes to digital signatures. These problems can be overcome by end users, but ultimately they need to be addressed by the makers of the software tools we use. Software for handling digital data will need better user interfaces that allow users to easily specify which digital signatures should be trusted for which purposes, and provide requisite warnings when a document should not be trusted. I am confident that these improvements will come in the future, especially as more companies begin to use digital signatures in their workflow and demand for better digital signature support rises.&lt;br /&gt;&lt;br /&gt;If you already use digital signatures with your CAD related documents, I would like to hear about it. Please &lt;a href="https://www.manusoft.com/about/"&gt;leave a comment&lt;/a&gt; about your experiences, whether good or bad!&lt;/p&gt;</description></item><item><title>Autodesk Resale Prohibition Under Attack</title><link>https://www.manusoft.com/archive/blog/autodesk-resale-prohibition-under/</link><pubDate>Tue, 11 Sep 2007 04:40:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/autodesk-resale-prohibition-under/</guid><description>&lt;p&gt;I&amp;rsquo;ve just posted at &lt;a href="https://web.archive.org/web/2010/http://www.cadcourt.com/NewsFeed/tabid/53/EntryID/47/Default.aspx"&gt;CAD/Court&lt;/a&gt; about a new lawsuit filed by Timothy S. Vernor of Seattle accusing Autodesk of using fraudulent means to enforce its license agreement prohibition on reselling legitimately purchased software. This subject comes up often, and I think there is a lot of grass roots support for Mr. Vernor&amp;rsquo;s argument extending well beyond Autodesk customers.&lt;br /&gt;&lt;br /&gt;The license agreement is not the central tenet of the lawsuit, but questions about its legitimacy do come into play. The legal principle involved is called the First Sale Doctrine, which essentially exempts buyers of copyrighted works from copyright infringement claims when they resell the work. The nebulous legal framework around so-called &amp;ldquo;shrink-wrap&amp;rdquo; software licenses, and the degree to which the First Sale Doctrine applies to software, is still an open question here in the US.&lt;br /&gt;&lt;br /&gt;For those of you interested in learning more about the First Sale Doctrine, listen to this podcast discussion (&lt;a href="http://www.techliberation.com/archives/042738.php"&gt;http://www.techliberation.com/archives/042738.php&lt;/a&gt;) on the Technology Liberation Front web site.&lt;/p&gt;</description></item><item><title>AutoCAD 2008 Slow Startup Fix</title><link>https://www.manusoft.com/archive/blog/autocad-2008-slow-startup-fix/</link><pubDate>Thu, 06 Sep 2007 15:54:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/autocad-2008-slow-startup-fix/</guid><description>&lt;p&gt;&lt;em&gt;[Update: See &lt;a href="https://www.manusoft.com/2010/11/disable-autocad-infocenter.htm"&gt;Disable AutoCAD InfoCenter&lt;/a&gt;]&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve noticed more frequent posts in the Autodesk discussion groups about slow startup problems since AutoCAD 2008 was released, and I have the same problem on my development system. Part of the problem is .NET loading, due to the new .NET gadgets like the dashboard palette. Another long running startup hassle is the communication center (WSCommCntr1.exe if you check running processes in task manager) that Autodesk products use to call home.&lt;/p&gt;</description></item><item><title>OpenDCL 4.0 Debuts</title><link>https://www.manusoft.com/archive/blog/opendcl-40-debuts/</link><pubDate>Wed, 01 Aug 2007 09:51:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/opendcl-40-debuts/</guid><description>&lt;p&gt;OpenDCL 4.0 has finally been released. If you&amp;rsquo;re not familiar with OpenDCL, check it out at &lt;a href="https://www.opendcl.com/"&gt;&lt;a href="https://www.opendcl.com"&gt;www.opendcl.com&lt;/a&gt;&lt;/a&gt;, or on SourceForge at &lt;a href="https://sourceforge.net/projects/opendcl//"&gt;sourceforge.net/projects/opendcl&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;OpenDCL, based on the original commercial ObjectDCL software by Chad Wanless, is a modern replacement for the old DCL dialog control language in AutoCAD. The current OpenDCL Runtime supports AutoCAD 2002 through 2008 (except AutoCAD 2008 x64). It is designed to give AutoCAD end users and AutoLISP application developers a simple yet powerful way to design and use rich user interfaces in their applications.&lt;br /&gt;&lt;br /&gt;The goal for version 4.0 was to get it stable and fix all the bugs, with minimal new feature development. OpenDCL 4.1 will add support for AutoCAD 2008 x64. After that we will start working on localized language versions, and adding new features.&lt;br /&gt;&lt;br /&gt;OpenDCL is licensed under the &lt;a href="http://www.gnu.org/licenses/licenses.html#GPL"&gt;GNU General Public License&lt;/a&gt; (GNU GPL) open source license, completely free to use, and source code is available on SourceForge.&lt;/p&gt;</description></item><item><title>What time is it?</title><link>https://www.manusoft.com/archive/blog/what-time-is-it/</link><pubDate>Thu, 21 Jun 2007 20:13:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/what-time-is-it/</guid><description>&lt;p&gt;AutoCAD 2004 introduced the ability to digitally sign drawing files when they are saved, but very few people use this feature. Even fewer use the time stamp feature that goes along with it. Time stamping a digital signature is important when it&amp;rsquo;s not only important to know &lt;em&gt;who&lt;/em&gt; signed it, but also &lt;em&gt;when&lt;/em&gt; they signed it.&lt;br /&gt;&lt;br /&gt;For time stamping to be reliable and trustworthy, you need an independent (and trustworthy) third party to provide the time stamp, along with a verifiable receipt so that anyone can verify the authenticity of a claimed time stamp in the event of a future dispute.&lt;br /&gt;&lt;br /&gt;Since the inception of the digital signature feature, AutoCAD has included three default time servers for this purpose. Unfortunately, none of the three are accessible any more. If you need to digitally sign drawing files with a time stamp, you&amp;rsquo;ll have to modify this list of time servers.&lt;br /&gt;&lt;br /&gt;The list of time servers is maintained in a file named timesrvr.txt in the AutoCAD installation folder. You can edit the file with notepad, and the format is obvious and straightforward when you view the file.&lt;br /&gt;&lt;br /&gt;If you just want to play around with time stamps, try adding the following to the end of the file (you do not need to restart AutoCAD to see the new servers):&lt;br /&gt;NIST A [Maryland] (time-a.nist.gov)&lt;br /&gt;NIST B [Maryland] (time-b.nist.gov)&lt;br /&gt;&lt;br /&gt;As of this writing, both of these NIST servers are available and working, but you get what you pay for. For officially incorporating time stamped digital signatures into your workflow, I recommend subscribing to a commercial time service with guaranteed uptime and a web based time stamp verification console. I can&amp;rsquo;t recommend one, because I have never used a commercial time service myself, but a good place to start is the list of public time servers maintained by &lt;a href="http://www.ntp.org"&gt;NTP.org&lt;/a&gt; at &lt;a href="http://support.ntp.org/bin/view/Servers/"&gt;&lt;a href="http://support.ntp.org/bin/view/Servers/"&gt;http://support.ntp.org/bin/view/Servers/&lt;/a&gt;&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Introducing OpenDCL for AutoCAD</title><link>https://www.manusoft.com/archive/blog/introducing-opendcl-for-autocad/</link><pubDate>Wed, 31 Jan 2007 19:44:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/introducing-opendcl-for-autocad/</guid><description>&lt;p&gt;AutoLISP programmers may remember a product named ObjectDCL, by 3rd Day Software. ObjectDCL was &lt;a href="http://www.cadopolis.com/autocad/objectdcl-now-open-source-project-.shtml"&gt;released as open source in the summer of 2006&lt;/a&gt; by developer Chad Wanless due to his inability to continue supporting the software because of &amp;ldquo;health reasons&amp;rdquo;. At the time, many users of ObjectDCL hoped that someone would update the code to work in AutoCAD 2007. Programmer David Robison did some work to get AutoCAD 2007 supported, but the project has been languishing, almost to the point of extinction.&lt;br /&gt;&lt;br /&gt;After being asked by several ObjectDCL users whether I could help, I decided a few weeks ago to contribute to the community by getting the original C++ code updated to support AutoCAD 2007. As I am wont to do, I&amp;rsquo;ve ended up re-architecting much of the code in the process.&lt;br /&gt;&lt;br /&gt;The results of my work are available now at the new &lt;a href="https://sourceforge.net/projects/opendcl/"&gt;OpenDCL project&lt;/a&gt; on SourceForge. The new 4.0 release is still in the alpha testing phase. If you program in AutoLISP and want to create rich user interfaces for your applications, check it out!&lt;/p&gt;</description></item><item><title>AutoCAD drawing files: possession is 9/10 of the law?</title><link>https://www.manusoft.com/archive/blog/autocad-drawing-files-possession-is-910/</link><pubDate>Sun, 14 Jan 2007 13:26:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/autocad-drawing-files-possession-is-910/</guid><description>&lt;p&gt;The title sums up the puzzling conclusion in a recent 6th Circuit Court of Appeals ruling (&lt;a href="https://www.manusoft.com/files/CA6%20Grusenmeyer%20Decision.pdf"&gt;CA6 Grusenmeyer Decision.pdf&lt;/a&gt;) in a decision about a copyright infringement claim filed by Cleveland architect Jeffrey Grusenmeyer.&lt;br /&gt;&lt;br /&gt;Grusenmeyer had contracted to provide a &amp;ldquo;master plan&amp;rdquo; for Magnificat High School. The master plan was provided to Magnificat in hardcopy format, Magnificat paid the architect $15,000 as agreed in the contract, and the project was apparently concluded. Some time later, a Magnificat facility manager requested DWG files for &amp;ldquo;personal use&amp;rdquo;. Grusenmeyer asserted at the time that he retained all rights to the DWG files but agreed to provide them on the condition they only be used internally and not be further distributed.&lt;br /&gt;&lt;br /&gt;Fast forward to the eventual &amp;ldquo;request for proposal&amp;rdquo; for an anticipated new building at the school. Upon request, Magnificat provided the Grusenmeyer files to the defendants (a competing architectural firm), who then used portions of the files in their winning proposal. The defendants were aware that Grusenmeyer claimed copyrights to the files, but they used the files anyway. The appeals court notes that &amp;ldquo;[a]ccording to the individual DSC architects, such reliance on drawings of existing conditions is routine in the industry.&amp;quot;&lt;br /&gt;&lt;br /&gt;In affirming the district court&amp;rsquo;s summary judgement in favor of the defendants, the appeals court noted that the contract between Grusenmeyer and his client (Magificat High School) provided that Grusenmeyer would &amp;ldquo;provide a master plan for the implementation of the capital improvements program, including plans, renderings, and perspectives &lt;em&gt;suitable for use in presentation and future reference during master plan implementation&lt;/em&gt;.&amp;rdquo; They concluded that this &amp;ldquo;plain language&amp;rdquo; gave Magnificat permission to send the AutoCAD DWG files to Grusenmeyer&amp;rsquo;s competitor.&lt;br /&gt;&lt;br /&gt;The district court had previously ruled that Grusenmeyer&amp;rsquo;s drawings were not sufficiently original to warrant copyright protection, but the appeals court did not address the copyrightability issue at all, dismissing the infringement claim out of hand with their opinion that Grusenmeyer had already given Magnificat carte blanche copyrights to the files vis a vis the quoted clause in their contract &amp;ndash; even though the files were never provided as part of the contract!&lt;br /&gt;&lt;br /&gt;I think the court erred in determining that the DWG files were subject to the terms of the master plan contract (its incorrect interpretation of the contract notwithstanding), but what I find really surprising in the ruling is the appellate court&amp;rsquo;s complete disregard of the plaintiff&amp;rsquo;s claimed and federally registered copyrights.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The moral of the story&lt;/strong&gt;&lt;br /&gt;If you are providing electronic files, don&amp;rsquo;t rely on copyright law alone to protect your intellectual property. This case reinforces the 3 C&amp;rsquo;s for protecting AutoCAD DWG files: copyright, contract, and &lt;a href="https://web.archive.org/web/2010/http://www.cadlock.com/"&gt;CADLock&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Update&lt;/strong&gt;&lt;br /&gt;William Patry (Senior Copyright Counsel, Google Inc.) writes about this case at &lt;a href="http://williampatry.blogspot.com/2007/01/make-sure-contract-is-signed.html#links"&gt;The Patry Copyright Blog: Make Sure the Contract is Signed&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Teaching and learning at AU</title><link>https://www.manusoft.com/archive/blog/teaching-and-learning-at-au/</link><pubDate>Mon, 04 Dec 2006 06:44:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/teaching-and-learning-at-au/</guid><description>&lt;p&gt;This year I taught an ObjectARX class at &lt;a href="https://www.autodesk.com/autodesk-university/"&gt;AU&lt;/a&gt;. As usual, there wasn&amp;rsquo;t nearly enough time to cover all the things I wanted to cover. I&amp;rsquo;m still contemplating what I want to do differently next year in order to be able to spend more time on the subject without boring everybody to death.&lt;/p&gt;</description></item><item><title>Do you use protection?</title><link>https://www.manusoft.com/archive/blog/do-you-use-protection/</link><pubDate>Mon, 04 Dec 2006 06:05:00 +0000</pubDate><guid>https://www.manusoft.com/archive/blog/do-you-use-protection/</guid><description>&lt;p&gt;If you were at &lt;a href="https://www.autodesk.com/autodesk-university/"&gt;AU&lt;/a&gt; this year, you may have seen some of my take5 and &lt;a href="http://www.augi.com/"&gt;AUGI&lt;/a&gt; friends wearing blue T-shirts with this tag line on the back. This year my &lt;a href="https://web.archive.org/web/2010/http://www.cadlock.com/"&gt;CADLock&lt;/a&gt; compatriots (&lt;a href="http://www.crlf.de/"&gt;Dietmar Rudolph&lt;/a&gt; of Germany and Steve Johnson (&lt;a href="http://www.cadnauseam.com/Steve.htm"&gt;http://www.cadnauseam.com/Steve.htm&lt;/a&gt;) of Australia) were both at &lt;a href="https://www.autodesk.com/autodesk-university/"&gt;AU&lt;/a&gt;, so we decided to have a little fun with this protection theme. We brought some &amp;ldquo;protection&amp;rdquo; to go along with the shirts (no, those little matchbooks did not contain matches).&lt;br /&gt;&lt;br /&gt;Now that you&amp;rsquo;re back home, I hope you&amp;rsquo;ll take a few minutes to learn how to protect your AutoCAD drawings. You can download &lt;a href="https://web.archive.org/web/2010/http://www.cadlock.com/products/CADVault/"&gt;CADVault for AutoCAD&lt;/a&gt; from the CADLock web site and run it in fully functional evaluation mode to see for yourself how CADVault can securely lock your AutoCAD drawing content.&lt;br /&gt;&lt;br /&gt;Help fight IP theft: practice safe CAD!&lt;/p&gt;</description></item></channel></rss>