HyperPics: Beyond the UI

  • Home
  • Archives
  • Profile
  • Subscribe
  • HyperPics
  • About

Are You a Block, an Xref, or a Layout

It was only recently that I was able to enjoy the new Muppets film.  It was a great family movie and much like the Muppets I grew up with.  Anyways, that is what inspired the title of this article, the song "Are You A Man or A Muppet" more specifically.

Note: This article does not work for those using AutoCAD for Mac because it does not support ActiveX.

Using AutoLISP, you can access the Blocks table in the current drawing and determine the types of blocks in a drawing.  Blocks can be the kind that you insert via the INSERT command, attach as an xref, or those that are containers for the geometry on a layout such as Model or Layout1.  The same logic can be applied to determine the types of blocks inserted into model or paper space.

The following code demonstrates how to determine the block type for each block in the current drawing using the IsXref, IsLayout, and IsDynamicBlock methods/properties.  It also steps through the objects in each block to see if it contains attributes or not.

(vl-load-com)
(defun c:WhatKindOfBlockAmI ( / acadObj doc msg block)
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
   
    (setq msg "")
   
    ;; Step through all the blocks in the Blocks table
    (vlax-for block (vla-get-Blocks doc)
        (cond
            ;; Standard or dynamic block?
            ((and (= (vla-get-IsLayout block) :vlax-false)
                  (= (vla-get-IsXRef block) :vlax-false))
                (if (= (vla-get-IsDynamicBlock block) :vlax-false)
                    (setq msg (strcat msg (vla-get-Name block) ": Standard"))
                    (setq msg (strcat msg (vla-get-Name block) ": Dynamic"))
                )

                ;; Has attributes?
                (setq attsExist "")
                (vlax-for ent block
                    (if (= (vla-get-ObjectName ent) "AcDbAttributeDefinition")
                        (setq attsExist " with attributes")
                    )
                )

                (setq msg (strcat msg attsExist))
            )
            ;; Xref?
            ((= (vla-get-IsXRef block) :vlax-true)
                (setq msg (strcat msg (vla-get-Name block) ": Xref"))
                (if (= (vla-get-IsLayout block) :vlax-true)
                    (setq msg (strcat msg (vla-get-Name block) " and layout"))
                )
            )
            ;; Layout?
            ((= (vla-get-IsLayout block) :vlax-true)
                (setq msg (strcat msg (vla-get-Name block) ": Layout only"))
            )
        )
        (setq msg (strcat msg "\n"))
    )
       
    ;; Display the block information for this drawing
    (alert (strcat "This drawing contains blocks of the following types: " msg))
)

Sincerely,
  Lee

Monday, April 23, 2012 in AutoCAD, AutoLISP/Visual LISP | Permalink | Comments (0) | TrackBack (0)

Technorati Tags: ActiveX, AutoCAD, AutoLISP

Reblog (0) | | | Pin It! |

Getting User Input with AutoLISP and Handling ESC

AutoLISP is a great language for combining a few basic AutoCAD commands together or creating complex logic. To get the most out of AutoLISP, you will need to request input from the user and the type of input you need will depend on which AutoCAD commands or functions you are using.

This article is not about the individual input functions themselves, but how to handle the dreaded ESC key when the user is being prompted for input.

NOTE: This topic does apply to AutoCAD on Windows and Mac.

The following sample code shows the use of the INITGET and GETPOINT AutoLISP functions.  If you load and run the code in AutoCAD it will allow you to pick a point or Line or Circle as a keyword.  When being prompted, press ESC and the message "Completed successfully." is never displayed because the AutoLISP function was terminated.

(defun c:GetInputNoErrHandling( / returnPnt)
    ;; Define the valid keywords
    (initget 128 "Line Circle")
   
    ;; Get the user input
    (setq returnPnt (getpoint "Enter a point [Line/Circle]: "))

    (if (/= returnPnt nil)
        (cond
            ((= (type returnPnt) 'LIST)
                (alert (strcat "User provided the point: "
                               (rtos (nth 0 returnPnt) 2) ", "
                               (rtos (nth 1 returnPnt) 2) ", "
                               (rtos (nth 2 returnPnt) 2)))
            )
            ((= (type returnPnt) 'STR)
                (alert (strcat "User selected the keyword: " returnPnt))
            )          
        )
        (alert "No point was picked.")
    )
  (alert "Completed sucessfully!")
)

For many, this is a deal breaker in their code as they often leave system variables changed or tasks uncompleted.  To help clean this up, you can introduce an error handler block that helps to catch the error so you can make any changes as needed to end as graceful as possible.  The error handler block is a new function that AutoCAD calls and is named *error*.The downside to this approach is that you have stepped out of the main execution of your code so there really is no easy way to pick up the pieces and continue on.

The following shows a very basic example of the error handler block. Now when the user presses ESC when being prompted for input, the GetPoint function ends but you get a message about the error that is generated indicating a point you could clean things up in as needed.

(defun c:GetInputErrHandlingBlock( / returnPnt)
    (setq old_err *error*)

    (defun *error* (err_msg)
       (alert (strcat "Error: " err_msg))
       (setq *error* old_err)
    )
 
    ;; Define the valid keywords
    (initget 128 "Line Circle")
   
    ;; Get the user input
    (setq returnPnt (getpoint "Enter a point [Line/Circle]: "))

    (if (/= returnPnt nil)
        (cond
            ((= (type returnPnt) 'LIST)
                (alert (strcat "User provided the point: "
                               (rtos (nth 0 returnPnt) 2) ", "
                               (rtos (nth 1 returnPnt) 2) ", "
                               (rtos (nth 2 returnPnt) 2)))
            )
            ((= (type returnPnt) 'STR)
                (alert (strcat "User selected the keyword: " returnPnt))
            )          
        )
        (alert "No point was picked.")
    )
  (alert "Completed sucessfully!")
  (setq *error* old_err)
)

The final example is the best approach, but is the least commonly used approach from what I have seen among AutoLISp developers.  This approach uses the VL-CATCH-ALL-APPLY and VL-CATCH-ALL-ERROR-MESSAGE functions.  Instead of being forced out of your main function when the user presses ESC, you have the ability to trap the error and handle right there.  You could still use the error handler block for truly unexpected errors, but you should always code for things you know a user might encounter or do.  Pressing ESC is a common thing users do in AutoCAD, so you should handle it.

When the following code is loaded and executed, pressing ESC is caught and handled properly so the code can finish as expected.

(defun c:GetInputWithErrCatching( / returnPntOrErr)
    ;; Define the valid keywords
    (initget 128 "Line Circle")
   
    ;; Get the user input
    (setq returnPntOrErr (vl-catch-all-apply 'getpoint (list "Enter a point [Line/Circle]: ")))
 
    (if (= (type returnPntOrErr) 'VL-CATCH-ALL-APPLY-ERROR)
        (alert (strcat "Error: " (vl-catch-all-error-message returnPntOrErr)))
        (cond
            ((= returnPntOrErr nil)
               (alert "No point was picked.")
            )         
            ((= (type returnPntOrErr) 'LIST)
               (alert (strcat "User provided the point: "
                              (rtos (nth 0 returnPntOrErr) 2) ", "
                              (rtos (nth 1 returnPntOrErr) 2) ", "
                              (rtos (nth 2 returnPntOrErr) 2)))
            )
            ((= (type returnPntOrErr) 'STR)
               (alert (strcat "User selected the keyword: " returnPntOrErr))
            )          
        )
    )
  (alert "Completed sucessfully!")
)

Sincerely,
  Lee

Friday, April 20, 2012 in AutoCAD, AutoCAD for Mac, AutoLISP/Visual LISP | Permalink | Comments (0) | TrackBack (0)

Technorati Tags: AutoCAD, AutoLISP

Reblog (0) | | | Pin It! |

Creating Objects without the COMMAND Function in AutoCAD

The ENTMAKE and ENTMAKEX functions are often forgotten elements of the AutoLISP programming environment because the use of the COMMAND function to call a command line LINE and CIRCLE are so tempting and easy.  Why reinvent the wheel if you do not need to, or in this case the functionality.

Both ENTMAKE and ENTMAKEX allow you to create new graphical and non-graphical objects without using the COMMAND function. This allows you to create a line and assign it a specific layer without first changing the layer with the Layer command and then calling the Line command to create the line and then restore the previous layer.  Not bad, but if you think about it further you need to turn off command echoing (CMDECHO) to keep the command line clean, drawing off screen or outside the drawing limits at times, and worry about the current running object snaps.

So after writing a few articles on the SETPROPERTYVALUE and GETPROPERTYVALUE functions the last few days I decided to go one step further and show how to create some new objects without the COMMAND function and then update their properties.  The following sample shows how to create a line, circle, and layer prior to updating their properties.

NOTE: The helper function (AddObj) does all the object creation work.

;; Begin Code
;; Create a new layer and change its plowable state, then
;; create a new line and circle without using the command function
;; 8/20/11 - Lee Ambrosius
(defun c:newObjects ( / layEnt newObj)
  ;; Create a new Layer named Const if it does not exist
  (if (= (setq layEnt (tblobjname "layer" "Const")) nil)
    (progn
      (setq layEnt (addobj "Layer"))
      
      ;; Update the new layers name
      (setpropertyvalue layEnt "Name" "Const")

      ;; Set the color of the new layer
      ;; Color can be ACI (6), true color (125,125,125),
      ;; or color book (PANTONE+ CMYK Coated,PANTONE P 1-3 C)
      (setpropertyvalue layEnt "Color" "231,18,18")

      ;; Set the layer so it cannot be plotted
      (setpropertyvalue layEnt "IsPlottable" 0)
    )
  )

  ;; Create a new line
  (setq newObj (addObj "Line"))

  ;; Set the start and end point
  (setpropertyvalue newObj "StartPoint" '(0.0 0.0 0.0))
  (setpropertyvalue newObj "EndPoint" '(5.0 5.0 0.0))

  ;; Change the layer of the new line
  (setpropertyvalue newObj "LayerID" layEnt)

  ;; Create a new circle
  (setq newObj (addObj "Circle"))

  ;; Set the start and end point
  (setpropertyvalue newObj "Center" '(5.0 5.0 0.0))

  ;; Change the layer of the new line
  (setpropertyvalue newObj "LayerID" layEnt)

 (princ)
)

;; Helper function to create the initial object without using the commands
(defun addObj (objType / newObj)
  (setq newObj nil)

  (cond
    ((= (strcase objType) "LINE")
        (setq newObj (entmakex '((0 . "LINE")
                                               (10 0.0 0.0 0.0) ; Start point
                                               (11 1.0 1.0 1.0) ; End point
                             ))
        )
    )
    ((= (strcase objType) "CIRCLE")
        (setq newObj (entmakex '((0 . "CIRCLE")
                                               (10 0.0 0.0 0.0) ; Center point
                                               (40 . 1.0) ; Radius
                             ))
        )
    )
    ((= (strcase objType) "LAYER")
        (setq newObj (entmakex (list (cons 0 "LAYER")
                                                    (cons 100 "AcDbSymbolTableRecord")
                                                    (cons 100 "AcDbLayerTableRecord")
                                                    (cons 2 (strcat "TEMP-" (rtos (getvar "CDATE") 2 8))) ; Name
                                                    (cons 70 0) ; State
                                                    (cons 62 7) ; Color
                                                    (cons 6 "Continuous") ; Linetype
                             ))
         )
    )
  )

 ;; Return the new object
 newObj
)

(prompt "\nType NEWOBJECTS to create a new line, circle, and layer without the COMMAND function.") 
;; End Code

Sincerely,
  Lee 

Saturday, August 20, 2011 in AutoCAD, AutoCAD for Mac, AutoLISP/Visual LISP, Programming | Permalink | Comments (3) | TrackBack (0)

Reblog (0) | | | Pin It! |

Accessing Information About Layers in a Drawing with GETPROPERTYVALUE

AutoCAD 2012 and AutoCAD 2012 for Mac has four new functions that essentially allow you to access object properties without the use of the COM API (Windows only) or dig around for a DXF code.  I covered the basics of these functions in the article New AutoLISP Functions in AutoCAD 2012 for Mac, but a few questions have come up about accessing non-graphical information such as Layers and Blocks.

The following example shows how to access the Layers table and then step through each layer in a drawing and return some information about the layer.

;; Begin Code
;; Outputs some general information about all the layers in a drawing
;; 8/19/11 - Lee Ambrosius
(defun c:LayInfo ( / )
  ;; Get the first layer in the LAYER symbol table
  (setq layTblEntry (tblnext "LAYER" T))

  ;; Loop while there are still layers
  (while layTblEntry
    ;; Get the layer and entity name of the layer
    (setq layName (cdr (assoc 2 layTblEntry)))
    (setq layTblEnt (tblobjname "layer" layName))

    ;; Use (dumpallproperties layTblEnt) to see what layer properties are available

    ;; Output some general layer info
    (prompt "\n_")
    (outputProp "Name" "Name" layTblEnt)
    (outputProp "Color" "Color" layTblEnt)
    (outputProp "Frozen" "IsFrozen" layTblEnt)
    (outputProp "Locked" "IsLocked" layTblEnt)
    (outputProp "Plottable" "IsPlottable" layTblEnt)
    (outputProp "LineWeight" "LineWeight" layTblEnt)

    ;; Get the linetype name
    (setq linetypeTblEnt (getpropertyvalue layTblEnt "LinetypeObjectID"))
    (outputProp "Linetype" "Name" linetypeTblEnt)

    ;; Get the next layer in the symbol table
    (setq layTblEntry (tblnext "LAYER"))
  )
 (princ)
)

;; Function used to output property information to the Command Line
(defun outputProp (infoTag propName ent / )
  (prompt (strcat "\n" infoTag ": "))
  (princ (getpropertyvalue ent propName))
 (princ)
)

(prompt "\nType LAYINFO to output information about the layers in the drawing.")
;; End Code 

Sincerely,
  Lee 

Friday, August 19, 2011 in AutoCAD, AutoCAD for Mac, AutoLISP/Visual LISP, Programming | Permalink | Comments (4) | TrackBack (0)

Reblog (0) | | | Pin It! |

New AutoLISP Functions in AutoCAD 2012 for Mac

If you are planning to upgrade to AutoCAD 2012 for Mac (or AutoCAD 2012 on Windows) and use AutoLISP, there is some exciting news. One of the best features of the new release is the ability to access and modify object properties with a set of 4 new functions. The functions can be used to access both graphical and non-graphical objects in a drawing. The functions are not available in earlier releases and are a nice alternative to using the VLAX functions that are only available in AutoCAD 2012 on Windows.

The 4 new functions are:

  • dumpallproperties - Outputs all the properties and their current value for the specified entity.
  • getpropertyvalue - Returns the current value of the specified property for an entity.
  • ispropertyreadonly - Returns T or nil of the specified property for an entity is read-only or not.
  • setpropertyvalue - Sets the specified property to a new value for an entity. 

Now that you have 4 new functions just burning a hole in your code, the following helps you to using these new functions to change the background mask color of a dimension or multiline text object. The code also outputs the current background mask color before asking you to turn the background mask on or off.

*NOTE: Much of the desired error handling is not present in the sample code.*

To get started, you use the DUMPALLPROPERTIES function with the type of object you want to work with. Properties like Layer, Color, and Linetype are consistent across all graphical objects.  Add the objects you want to work with your drawing, for this example I added a linear dimension and multiline text object. After the objects are in the drawing, enter the following at the Command prompt to see a list of all available properties for an object:

(setq ent (car (entsel "\nSelect a dimension or multiline text object: ")))
(dumpallproperties ent)

You should see a listing of properties, data types, and values. For a multiline text object, the background mask behavior is controlled by 5 properties:

  • BackgroundFill - A background fill is used or not
  • BackgroundFillColor - The color of the background fill
  • BackgroundScaleFactor - The factor used to control how far out from the text the fill should go
  • BackgroundTransparency - The transparency level of the background fill
  • UseBackgroundColor - Background fill color uses the drawing background to get the color for the fill

If no background fill was applied to the multiline text object, you will see the values of 'Failed to get value' and that is normal because the property is not set yet. Turning on Background Mask for the text object and running DUMPALLPROPERTIES again will reflect the current values assigned to the multiline text object.

For dimensions, you use the following properties to control the use of background masking:

  • Dimtfill - A background fill is used or not
  • Dimtfillclr - The color of the background fill

The ISPROPERTYREADONLY is used to test if a property is read-only or not before trying to update its value using the SETPROPERTYVALUE function.

The following sample shows the use of the GETPROPERTYVALUE and SETPROPERTYVALUE functions.

;; Update the fill color for a dimension or multiline text object
(defun c:bfill ( / ent objType bFill bFillClr bFillScale bFillTrans bUseBackClr kWord)
  ;; Get the object
  (setq ent (car (entsel "\nSelect a dimension or multiline text object: ")))

  ;; Check to see if an object was selected
  (if (/= ent nil)
    (progn

      ;; Get the type of object
      (setq objType (cdr (assoc 0 (entget ent))))

      ;; Output current background property values
      (if (= objType "MTEXT")
        (progn
          (setq bFill (getpropertyvalue ent "BackgroundFill"))
          (outputPropValue "BackgroundFill" bFill)

          (setq bFillClr (getpropertyvalue ent "BackgroundFillColor"))
          (outputPropValue "BackgroundFill" bFillClr)

          (setq bFillScale (getpropertyvalue ent "BackgroundScaleFactor"))
          (outputPropValue "BackgroundFill" bFillScale)

          (setq bFillTrans (getpropertyvalue ent "BackgroundTransparency"))
          (outputPropValue "BackgroundFill" bFillTrans)

          (setq bUseBackClr (getpropertyvalue ent "UseBackgroundColor"))
          (outputPropValue "UseBackgroundColor" bUseBackClr)
        )
        (progn
          (setq bFill (getpropertyvalue ent "Dimtfill"))
          (outputPropValue "Dimtfill" bFill)

          (setq bFillClr (getpropertyvalue ent "Dimtfillclr"))
          (outputPropValue "Dimtfillclr" bFillClr)
        )
      )

      ;; Prompt the user to turn background masking on or off
      (initget 0 "ON OFF")
      (setq kWord (getkword "\nEnable Background masking [ON/OFF]: "))

      ;; Toggles background mask on or off, when turning it on set it to cyan 
      (if (= objType "MTEXT")
        (progn
          (if (= kWord "ON")
            (progn
              (setpropertyvalue ent "BackgroundFill" 1)
              (setpropertyvalue ent "BackgroundFillColor" 4)
              (setpropertyvalue ent "UseBackgroundColor" 0)
            )
            (setpropertyvalue ent "BackgroundFill" 0)
          )
        )
        (progn
          (if (= kWord "ON")
            (progn
              (setpropertyvalue ent "Dimtfill" 2)
              (setpropertyvalue ent "Dimtfillclr" 4)
            )
            (setpropertyvalue ent "Dimtfill" 0)
          )
        )
      )
    )
  )

 (princ)
)

;; Function used to output property name and value to the Command Line
(defun outputPropValue (propName propValue / )
  (terpri)
  (prompt (strcat propName ": "))
  (princ propValue)
 (princ)
)

(prompt "\nType BFILL to use the background fill command.")

Sincerely,
  Lee

Thursday, August 18, 2011 in AutoCAD, AutoCAD for Mac, AutoLISP/Visual LISP, Programming | Permalink | Comments (6) | TrackBack (0)

Reblog (0) | | | Pin It! |

Got an AutoCAD for Mac Tip?

Have you found a quick way to do something in AutoCAD for Mac that you want others to know about?  Do not keep it a secret by posting it to the AutoCAD for Mac wiki; you can submit it yourself for the whole user community to enjoy.

Access the AutoCAD for Mac 'Tips and Tricks' page and post your favorite tips today or maybe pick up a tip that will help you be more productive.  (Must login with your Autodesk.com login to submit, but viewing does not require you to create an account or login.)

The Autodesk Wiki is a joint venture between Autodesk and its user community.  The site is being moderated by Autodesk employees to ensure the content is accurate for all users to enjoy.  Submissions are not posted instantly at the moment as they are moderated for language first.

Feel free to leave a comment if you have any questions about the Autodesk Wiki.

Sincerely,
  Lee

Friday, October 22, 2010 in AutoCAD for Mac, Autodesk, Tips and Tricks | Permalink | Comments (0) | TrackBack (0)

Reblog (0) | | | Pin It! |

Taking the AutoCAD for Mac PDFs on the Go with iBooks

Did you know you can access the AutoCAD for Mac documentation from your mobile device using your Web browser?  A matter of fact, the documentation for most of Autodesk's recent products can be accessed using a Web browser.  The online help documentation can be found at: http://docs.autodesk.com/.

Wow, that was simple enough... okay, so this article has a bit more to it than that.  With an iPhone, iPod or an iPad you can take the PDFs of the online docs on the go with you and view them in iBooks.  To do this, you cannot simply just browse to the PDF and save a local copy of it; you need to use iTunes and sync the file to your Apple device.  The following steps explain how to do this on Windows or Mac:

  1. You must have iBooks installed on your Apple device. (Click here for info on iBooks.)
  2. Download the AutoCAD for Mac PDFs from AutoCAD for Mac PDF Documentation.
  3. Launch iTunes on your Mac or PC.
    • In Windows, click Start menu > [All] Programs > iTunes > iTunes.
    • In Mac OS X, from the Dock, click iTunes.
  4. In iTunes, click File menu > Add File to Library or Add to Library.
    AddToLibrary 
  5. Browse to and select the PDF file. Click Open or Choose.
    AddToLibraryDialog 
  6. Select Books from your Library.
    LibraryBooks 
  7. Right-click on Windows or Ctrl-Click on Mac OS over the PDF you just added and click Get Info.
    BookGetInfo 
  8. In the Get Info dialog box, Options tab, select Book from Media Kind if it is not already selected.
    GetInfoOptions 
  9. Optionally, on the Info tab, you can change the name of the book and add additional information such as product release or anything else that you feel is important to help identify the book.
    GetInfoInfo 
  10. Connect your Apple device.
  11. Select your device from Devices.
  12. Click the Books tab.
    SyncBooks 
  13. Click Sync Books so it is selected.
  14. Click All Books to sync all books or click Selected Books to control which ones you sync to your device. If you click Selected Books, select you book you want to sync from those listed.
  15. Click Sync.
  16. After syncing is complete, on your Apple device, launch the iBooks app.
  17. Click the new AutoCAD for Mac book.
    • IBook
    • TOCView
    • Topic
    Topic

 Sincerely,
  Lee

 

Thursday, October 21, 2010 in Apple, AutoCAD for Mac, Books, Tips and Tricks | Permalink | Comments (0) | TrackBack (0)

Reblog (0) | | | Pin It! |

AutoCAD for Mac Videos

With the launch of AutoCAD for Mac comes a wave of video postings to YouTube.  These videos cover the user interface, using gestures to change the view of a drawing, among many others.  The following video provides a preview of the new AutoCAD for Mac user interface (UI).  Use the Full Screen button in the lower-right corner of the video to watch it full screen or click the video after it starts playing to open the YouTube page.

For additional videos on AutoCAD for Mac, see the following YouTube links:

  • Preview the User Interface (embedded above)
  • Use Gestures to Navigate a Drawing
  • Create and Edit 2D Objects
  • Create text and Dimensions
  • Print a Drawing Layout
  • Convert 2D Objects to 3D Objects
  • Create and Modify 3D Meshes

Sincerely,
  Lee

Friday, October 15, 2010 in Apple, AutoCAD for Mac, Autodesk | Permalink | Comments (1) | TrackBack (0)

Reblog (0) | | | Pin It! |

AutoCAD for Mac Rises from the Ashes of AutoCAD Past (Updated)

AutoCAD for Mac is now available for purchase after disappearing over a decade ago.  I have had the privilege to work with the new product for a while now, and it feels like a native Mac application with a good twist of AutoCAD mixed in.  If you are familiar with AutoCAD, you can be up and running on AutoCAD for Mac in a short period of time.

Figure 1 - AutoCAD for Mac UI - Complete 

The UI looks similar to AutoCAD 2011, but there are a few new enhancements that are brand new to AutoCAD.  Each corner of the drawing window now displays a UI component of some sort, and these can be turned on or off based on your preference.

  • Viewport label menus (upper-left) - Allows you to toggle some in drawing window elements, switch to named and preset views, and toggle the current visual style.
  • ViewCube tool (upper-right) - Allows you to rotate the current view of the drawing to a preset view or orbit the drawing.
  • UCS icon (lower-left) - Displays the current positive directions of the coordinate system.
  • Coordinates display - Displays the current position of the cursor in the drawing area.

AutoCAD for Mac does not support the ribbon which was introduced back in AutoCAD 2009, but instead goes with a more Mac centric UI using the menu bar.  Along with the menu bar is the Tool Sets palette which is displayed along the left side of the screen which allows you to access common drafting, annotation, and modeling tools.

I will have more on AutoCAD for Mac in the upcoming weeks and months now that it is finally out.  Feels like the Holiday season has come a bit earlier this year.

Sincerely,
  Lee

*Update*

See the following links for more information:

  • AutoCAD for Mac is Now Available, Download Now - Shaan Hurley, Between the Lines
  • Autodesk YouTube Channel - AutoCAD for Mac Playlist
  • AutoCAD for Mac - Services & Support

Friday, October 15, 2010 in Apple, AutoCAD, AutoCAD for Mac, Autodesk | Permalink | Comments (0) | TrackBack (0)

Reblog (0) | | | Pin It! |

Things Are Getting Better - AutoCAD for Mac has Arrived

Not many of you may remember back some 15+ years ago in the history of AutoCAD that it once did run on platforms other than Windows.  It ran on Unix, Mac, and DOS along with many other platforms in its early days.  Since AutoCAD Release 13, AutoCAD has been available on Windows only with the exception of one last DOS release with R13.  There were a number of factors that played a role in deciding to go with Windows only for AutoCAD.  That all changes today.

Today, Autodesk has announced the re-bith of AutoCAD on the Mac OS X platform with "AutoCAD for Mac". This is AutoCAD built for the Mac OS from the ground up, not just a straight port of the Windows application and all of its components.  It is truely a combination of what you expect in a native Mac application and the drafting/modeling power of AutoCAD 2011.  For additional information on the product go to http://www.autodesk.com/autocadformac and be sure to check out the launch video on YouTube (http://www.youtube.com/watch?v=LuvVgb5-NVI).  The launch video highlights some of the many Mac UI design features.

  • 2010-08-30_17.12.04
  • 2010-08-30_17.11.38
  • 2010-08-30_17.10.57
2010-08-30_17.10.57

Along with AutoCAD for Mac, Autodesk has also announced AutoCAD WS for the Mac iOS platforms (iPod/iPhone/iPad).  This is a mobile version of AutoCAD that allows you to ditch the paper tubes and still access your drawings on the go in a functional form factor.  AutoCAD WS is not for modifying your drawings, but to allow you to view and annotate them which is more likely on the go or when hanging from a pole anyways.

  • BUtterfly 5
  • BUtterfly 4
BUtterfly 4


AutoCAD for Mac and AutoCAD WS will be available this Fall from Autodesk.

More information will be coming as the product gets closer to shipping.

Autodesk Press announcements can be found at http://www.autodesk.com/press.

Be sure to check out the following sites for additional information and coverage on AutoCAD for Mac:

  • http://www.facebook.com/AutoCAD.3D - AutoCAD Facebook page
  • http://autodesk.blogs.com - Between the Lines
  • For those on Twitter follow @autodesk & @autocad
  • http://www.youtube.com/watch?v=LuvVgb5-NVI - Launch video on YouTube
  • http://www.autodesk.com/autocadformac - AutoCAD for Mac Home page

Enjoy...

Sincerely,
  Lee

Tuesday, August 31, 2010 in Apple, AutoCAD, Autodesk | Permalink | Comments (1) | TrackBack (0)

Reblog (0) | | | Pin It! |

Next »

Search


  • Search 300+ postings
My Photo
Related Posts with Thumbnails

Twitter Updates

    follow me on Twitter

    Recent Posts

    • Are You a Block, an Xref, or a Layout
    • Getting User Input with AutoLISP and Handling ESC
    • Creating Objects without the COMMAND Function in AutoCAD
    • Accessing Information About Layers in a Drawing with GETPROPERTYVALUE
    • New AutoLISP Functions in AutoCAD 2012 for Mac
    • Got an AutoCAD for Mac Tip?
    • Taking the AutoCAD for Mac PDFs on the Go with iBooks
    • AutoCAD for Mac Videos
    • AutoCAD for Mac Rises from the Ashes of AutoCAD Past (Updated)
    • Things Are Getting Better - AutoCAD for Mac has Arrived