Archive for September, 2006

Huge gaps in Windows Add/Remove programs list

Friday, September 29th, 2006

Over the years, numerous Autodesk products have caused huge gaps to appear in the Windows Add/Remove Programs list. This is caused by an incorrect registry entry.

 

Workarounds: If you’re very comfortable with editing your systems registry, look for all Autodesk programs under HKLM\Software\Microsoft\Windows\Currentversion\Uninstall until you see one that has a “,-1″ following the path shown in DisplayIcon. Just change the “,-1″ to “,1″ and then restart the Add/Remove Programs applet.

Can’t change leader arrowhead back to “closed filled”

Wednesday, September 20th, 2006

AutoCADs quickleader settings allow you to specify how you want the arrowhead to appear. In most cases, “closed filled,” is the default arrowhead block. If you happen to change the block to something other than “closed filled”, (for example, “dot”), and then draw leaders using the new style, then it becomes impossible to set it back to “closed filled” within the settings for the command.

Workarounds:

(setvar "DIMLDRBLK" ".")

First Appeared: AutoCAD 2000
Status as of 2006 SP1: Still reproducible
Status as of 2007: (unknown)
Status as of 2008: This appears to be fixed! Tough luck to the non subscription customers.

VBA can’t explode non-uniformly scaled blocks

Thursday, September 14th, 2006

As of AutoCAD 2004, VBA can no longer be used to explode non-uniformly scaled blocks although this could easily be done with earlier releases.

Test with the following snippet:

Sub ExplodeNonUniform()
Dim oLine As AcadLine
Dim oBlock As AcadBlock
Dim oBlockRef As AcadBlockReference
Dim StartPoint(2) As Double, EndPoint(2) As Double
StartPoint(0) = 0#: StartPoint(1) = 0#: StartPoint(2) = 0#
EndPoint(0) = 1#: EndPoint(1) = 1#: EndPoint(2) = 1#
Set oBlock = ThisDrawing.Blocks.Add(StartPoint, "widget")
Set oLine = oBlock.AddLine(StartPoint, EndPoint)
Set oBlockRef = ThisDrawing.ModelSpace.InsertBlock(StartPoint, oBlock.Name, 1, 2, 1, 0)
oBlockRef.Explode
'*** above line works in AutoCAD 2002, but not in 2004,5,6,7
oBlockRef.DeleteEnd Sub

Workarounds: Assuming oBlkRef is the reference that you want to explode (and keeping in mind sendcommands own limitations):

thisdrawing.sendcommand ("explode" & vbcr & "(handent " _  & Chr(34) & oBlkRef.Handle & Chr(34) & ")" & vbcr & vbcr)

First Appeared: AutoCAD 2004
Status as of 2008: Still reproducible
Status as of 2009: (unknown)