tvCAD – a Replacement for ACNE

After much (years!) ado, here it comes…

Before the end of 2015 I will be shipping tvCAD.

Interested? Please drop into http://www.tvcad.tv/ and I will keep you in the loop on its progress. There’s an email list there which will give you direct access to me and to the development process. Please, drop in, have your say and let’s make this happen.

Gaping Void made this awesome Information - Knowledge image
Turn your information into Knowledge
Advertisements

ACNE doesn’t like A$ Blocks

Greetings. Long time no see read. I’ve been a little busy in the last couple of years, working on the things. Like most good intentions, the nearly-100 unpublished blog posts hidden in the caves of this site are still there, I will endeavour to see if any of them are still relevant. Well, I hope I will endeavour.

Today’s ACNE rant / warning – it seems to ignore blocks whose name starts with A$ inside AutoCAD, they are created by pasting a block into a drawing. If you rename the block (I just remove the A$ prefix) it should work – I haven’t tested that part yet.

ACNE is also not a fan of blocks that haven’t been ATTSYNCed.

ACNE Doesn’t Like Apostrophes

ApostropheIf you’re using ACNE then don’t use any apostrophes in your block attributes. They (apparently) mess up an internal query when it is parsing drawings which I am presuming results in lost data.

If you’re wondering whether you have this problem or not, look at C:ACNELog.txt and search for the word “syntax”. If you want to be even more thorough, search for the word “error”. If you find one that puzzles you, post a comment here and we’ll see if we can solve the mystery together.

On another note, my humble apologies for my lack of posts here. I have had a busy year so far. There are plenty of half-written posts just waiting or me to refine them into something sensible so they can see the light of day. I hope to get more posts up after the next month or so.

CADtools – the early years

My first Find and Replace tool

My first Find and Replace tool

Generates a sequence of attributes
I wrote this Attribute Generator to generate series of attributes, rather than copy … click … edit … copy …click … zzzz. As you can see I’m no UI expert. It ain’t pretty but it has saved me a lot of time over the years. The settings at the top-left are for generating ACNE-compatible attributes. It also generates in the correct order so you can bulk-select them and they will be in the correct order when you make a block of them. As you can see, I lost interest when it cam to making them different colours.
some tools I have butchered in LISP
LISP isn’t my favourite language but I’ve written (and butchered) a few routines that speed up my day. Quite a few of them are modified versions of the inbuilt ones (BX-BI is ATTOUT-ATTIN with a lot less clicks). I have far more sophisticated versions in the works.

As it stands I have a ton of ideas logged in my FogBugz tracker and some of them are partially coded. I posted my survey to assess the viability of developing these with a lot more finesse to sell them, or should I just hack them together for myself?

Please, let me know by taking my survey.

AutoCAD LT Missing Plot Styles

AutoCAD plot style missing

I dunno, perhaps AutoDesk are punishing you for buying the cheap version. Perhaps I am a bit too cynical about these things. That’s quite likely.

You’ve just installed AutoCAD LT, opened your first drawing in it and gone to print it.

AutoCAD plot style missing
screenshot from the full version - your mileage may differ

“Missing or incompatible plot style” WTH? I thought that was one of the ones you get when you buy AutoCAD (LT). Does it cost extra? Gaaahhh!

Here’s the issue – the “grown-ups” (full) version of AutoCAD, the one that makes Autodesk an obscene amount of money instead of just a lot, has a collection of plot styles whose names differ from the LT version that you have now just been punished for buying. For exampleinstance, the run-of-the-mill “Color-dependent Plot Style Table” in AutoCAD is called “acad.ctb” but the equivalent plot style in AutoCAD LT is called “acadlt.ctb”. Why? DO NOT ASK WHY !! There’s nothing to be gained from that.

Plot settings, including the assigned plot-style, are saved in the drawing. Thus begins an ongoing plot-style tug-of-war between the Full version crowd and the LT crowd. You just backed your Ford into their BMW. The irony here is that the real fault lies with whoever designed the carpark (to continue the analogy).

Solution: copy, and then rename the copies of all LT plot styles with “lt” at the end of their names.

How: The “stylesmanager” command which, rather unintuitively, opens the folder containing the plot styles. You’re on your own from there. Double-click them if you actually want to edit them. It’s also in the file menu (“menubar 1” to get your old friend back) and it’s probably buried in the ribbon somewhere too, right next to the “create new layer” button, no doubt. Don’t ask me where, that thing hurts my eyes. If you click on the AutoCAD logo at top-left it’s here …

Plot styles from the big A button at top-left
I much-prefer the Quick access toolbar to the ribbon.

You could say it looks like a bit of a shell game to separate the two versions but, IMHO,  it’s more likely due to Hanlon’s Razor. Either way, it’s a broken User Experience. You’re now pissed off for no good reason. Maybe the Full version and LT teams should do lunch or something, compare notes. We’re all on the same team, you know?

AutoCAD Find and Replace Wildcards are broken

so far, so good

Update in 2015 – it’s not a bug as such but a usability issue – as an aside the dot (period) wildcard matches any single non-alphanumeric character, similar to a question mark but much more restrictive. Curiously I would expect it to match a dot, which is does here. The cause of the confusion is still the lazy versus greedy aspect.

This frustrated me so much over the years that I wrote a replacement for Find and Replace where you can be selective about what wildcards to use. Oh, and it lives in a tool palette so you don’t have to keep opening and closing a window. Check it out.

…returning you to the original post…

I found this bug when doing a find and replace on some IP addresses in an AutoCAD drawing. I was using it as a template for a new drawing so I wanted to reset the IP addresses to a default to avoid duplicating the existing values.  Here is what I started with …

so far, so good

So, I fired up my trusty AutoCAD Find and Replace window, like thus…

AutoCAD Find and Replace window. Finding *.*.*.* and replacing with xxx.xxx.xxx.xxx

… and then selected the block in question & hit Replace All. I got this …

Not the desired result. Huh?

That ain’t right. I tried the same thing in Excel. From this …

Same procedure in Excel, before

… using the same Find and Replacement text …

Excel Find and Replace Window

… and I got this …

Replacement in Excel - ah, that's better

That’s more like it. To paraphrase Sesame Steet, “One of these things does not work like the other ones.”

So, why are they different?

Initially, I thought the difference was that Excel’s search is greedy and AutoCAD’s search is an inconsistent mix of lazy and greedy. Here is an explanation of the difference between lazy and greedy text searching, as it pertains to using Regular Expressions. In a nutshell, a lazy search reckons it is done when it has found the bare minimum it needs to satisfy the requirements of the search. The * wildcard I used in the find section will match one or more of any character. A lazy search reckons it’s done when it matches one character, a greedy search will keep matching characters until it eventually runs our of ones that match the search string. In Excel’s  case it stops when it gets to a dot, in AutoCAD it did that with the middle but not at the beginning and the end.

The more I looked at it the more I realised that isn’t right. AutoCAD had actually ignored the first and last wildcards in the search. Instead of looking for *.*.*.* it has looked for .*.*. As Occam’s Razor inevitably predicts, it’s not as complex as I first thought – it’s simply somewhat broken.

I’d say that’s a bug, folks. I guess I’ll be using ol’ faithful Excel for that find and replace exercise. Well, actually, it’s not that bad – the ? wildcard still works so I can use ???.???.???.??? in various number of ?’s to (eventually) get there. It’s still a bug, though.

ACNE and the case of the Missing Cable Numbers

from http://www.flickr.com/photos/wilhei/109403306/

from http://www.flickr.com/photos/wilhei/109403306/OK, I’m staring at the drawing and I know all the blocks and attributes are right. I have run the drawing through ACNE more than once and I get the same result: some of the cables are missing from the cable schedule. Why?

This is an easy mystery to solve but a PITA to eradicate. The problem is that the block has been changed in some way but has not had the ATTSYNC command run on it. The attributes in the (original) block definition don’t match the ones in the insertions, the copies of the Definition that you can see.

So, to fix it, go through the motions of the ATTSYNC command. If you’re using AutoCAD LT then this command was introduced in the 2010 version. Older versions don’t offer it. If this is your dilemma, try Ctrl-C copying the whole drawing and pasting into a blank template, then use the new drawing you just created. Be aware you will lose any uninserted blocks if you abandon the old drawing. I can’t guarantee that will work because I don’t have a copy of LT to try it out on.

So, why is the ATTSYNC problem a PITA to eradicate? Well, how many blocks in your drawing set need ATTSYNCing? How can you be sure you’ve fixed them all? Also, be aware that ATTSYNCing moves all of the attributes in every occurrence of the block back to their originally-defined positions. If you have spent hours dragging attributes left, right and everywhere to make them line up then this will break that. That’s the main reason I don’t advocate moving attributes away from their defined positions – you paint yourself into a corner. Don’t do it.

Installing ACNE on Windows 7

There are two parts to the Windows 7 and ACNE tale – installation and running. The crux of the matter is that you need to install and run ACNE as a Windows XP compatible application, primarily because ACNE was originally developed to run in Windows XP. Although Windows 7 is pretty good at eventually figuring this stuff out for itself, you’re always better off doing it properly and telling the operating system what is going on.

Installation

Right-click the installer file, click properties and then go to the compatibility tab.Set it to be compatible with Windows XP. I don’t think it really matters if you choose Service Pack 2 or 3 from the list. I chose Service Pack 2 because it was the current one when this version of the program was compiled. As this is an installer it will need to run with Administrator rights. It will trigger a UAC response when it installs – this is ok. Actually it’s great. UAC is great. Never turn it off. No, seriously.

ACNE-install-compatibility

 

Running

In Windows 7 To set ACNE to run in XP mode. Right-click the actual acne.exe file,click properties, compatibility & set to XP sp 2 or 3 mode. It doesn’t need to run as Administrator, which is good practice anyway. You should only run a program as Administrator if you desperately need to (ie. the installer, as above). It can make the difference between a program crashing-and-burning itself, or your whole computer.

ACNE-exe-run-compatibility

While you’re at it you should probably tweak the shortcut you use in the start menu as well. The procedure is the same … right-click the shortcut and click properties …

ACNE-run-compatibility

That should do it. If you have any questions, comments or tips, please feel free to add them here.

AutoCAD Layers are not Layers

Layers must be one of the most misnamed things in AutoCAD.

The one thing that AutoCAD “Layers” don’t do is actually layer objects. This is controlled by the Draw Order commands. That’s what I mean when I say “Layers” are not layers. They are nothing at all like the olden-days concept of drafting on transparent paper and layering them on top of each other.

AutoCAD Layer Manager

AutoCAD “Layers” should be called Collections, or Bundles. They are a way of grouping objects (lines, blocks, text, whatever you like) together so you may easily adjust properties they share. The most obvious and prolific use is color. When you set the color property all of the objects on a “Layer” to “ByLayer” then you change the color of everything in that “Layer” simply by changing the color of the “Layer”. This is ultra-handy because it centralizes object properties you want to tweak, en masse. If you want to change the color of video cables in a drawing from blue to pink, you only need to change it in one place – on the Video “Layer” in the “Layer” manager.

“Layers” also work inside blocks. Anything inside a block that is not on “Layer” 0 (zero) is a member of the “Layer” it is assigned to and will change along with everything else on that “Layer”. Layer 0 (zero) inside a block is a whole other topic.

Using ACNE with Excel 2007 or 2010

ACNE was originally developed to run in Windows XP and with versions of Excel that used the .XLS format (97 & 2003). Excel’s file format changed to the .XLSX format with the release of Office 2007 and continues with Office 2010. Both ACNE and Excel need some adjustments to make ACNE work properly. Without these tweaks ACNE will produce worksheets with 1-million-rows, about 127MB in size, and will take a month of Sundays doing so. Fear not – this is easily fixed.

ACNE and Excel …

1. Go to Excel options … in 2007 …

Excel-2007-options-menu

…or Excel options in 2010 …

Excel-2010-options

2. Set Excel to save as Excel 2003 format (XLS, not XLSX) by default…

Excel-save-as-format

3. Also make sure it creates 3 worksheets. That is the default setting …

Excel-this-many-sheets

In ACNE, when you specify the name of the spreadsheet to save, make sure you type the “.xlsx” extension. You have to type it –  the dropdown list of file types (all one of them) will save it with the .XLS extension but it will actually save the file as the newer format.

ACNE-save-as-xlsx

If you leave the extension as .XLS then it will actually save it as the latest version but when opening Excel, it will warn you that the file extension does not match the type the file is saved as. This won’t break anything but it’s not a good look if you’re sending these file to people you are trying to not unimpress.

As an aside, notice how I named the spreadsheet in my example? This format makes it very easy to keep track of all the different cable schedules. In a nutshell …

  • ACNE = whatever you’d like to call the spreadsheet
  • yy = the year
  • mm = month. Always use 2 digits so it sorts properly
  • dd = day. Always use 2 digits so it sorts properly
  • x = today’s version. I use a-z. When you get to z you’ve had enough – go home.

 

XLS-is-not-XLSX-warning

It’s a little tedious but with these workarounds ACNE will happily generate cable schedules in using the latest version of Excel.