AutoCAD


  • Adding a dynamic password property to an AutoCAD object using .NET

    In this recent post we looked at adding custom editing capabilities for dynamic properties we've added via .NET. In the first example we looked at a "distance" property which provided a button allowing the user to select two points. In this post we'll look at implementing a masked string property, such as one you would use for a password. I won't repeat too much of the background information from the last post in this series: you should refer to that to understand the fundamentals (the fact that we're basing this implementation on Cyrille Fauvel's OPM .NET sample, that we're not…

  • It's that time of year again (it's actually a little later than when we published these surveys last year, but still). The following "Summer 2009" API wishlist surveys are now ready: AutoCAD® AutoCAD® Civil 3D® Revit® Autodesk® Inventor® Please do take the time to fill out the surveys for the products you customize or develop applications for. Our Engineering teams use the feedback you provide to prioritise our API development efforts: this is a great chance for you to have a direct impact on the direction we take in exposing APIs from our products. And if you (optionally) provide your…


  • Adding a dynamic distance property to an AutoCAD object using .NET

    Back in these previous posts, we introduced an ObjectARX module that exposed AutoCAD's Property Palette to .NET (thanks again to Cyrille Fauvel for his work on this :-). In this post we're going to build on this work to demonstrate how to integrate properties with more advanced editing controls into the Property Palette. [Note: this sample does not deal with persisting the data with an object. If you want to store your data with a particular object, I suggest taking a look at this previous post which demonstrates how to use Xdata to do so.] This code is being built…


  • Triangulating an AutoCAD 3D solid from a set of points using .NET

    As promised in this previous post, we're now going to an update to Zeljko's triangulation code which creates Solid3d objects with a user-specified depth from our SubDMesh. Here's the C# code with the new/modified lines in red (here is the .cs source file). I've modified the code to reformat it and to provide the various options side-by-side in separate commands     1 using Autodesk.AutoCAD.ApplicationServices;     2 using Autodesk.AutoCAD.DatabaseServices;     3 using Autodesk.AutoCAD.Runtime;     4 using Autodesk.AutoCAD.EditorInput;     5 using Autodesk.AutoCAD.Geometry;     6 using System;     7      8 public class Triangulate     9 {    10   public bool circum(    11     double x1, double y1, double x2,   …

  • As mentioned in this previous post, Fenton Webb is presenting a two-part series on using the Windows Presentation Foundation (WPF) in your AutoCAD .NET applications. The first session on June 2nd was recorded and the second is to be held next week on July 14th. You can register for upcoming webcasts - and access recordings for previous webcasts – via our API training schedule (which can also be accessed via this easy-to-remember URL: http://www.autodesk.com/apitraining).


  • Triangulating an AutoCAD sub-division mesh from a set of points using .NET

    I'm just settling in after a week of very enjoyable paternity leave (thanks to all of you for your congratulatory messages :-). I have a few topics planned for the next few weeks, but in the meantime I'm going to post some code provided by our old friend Zeljko Gjuranic as a follow-up to this previous post. Zeljko responded to the suggestion that – rather than creating the limited PolyFaceMesh object – his code should instead create the more modern SubDMesh (an object introduced in AutoCAD 2010). I've taken Zeljko's code and integrated it into the previous example, allowing creation…

  • In this recent post we looked at an approach combining AutoLISP with a script generated on-the-fly to get around the fact that (command "_.OPEN" …) does nothing when SDI == 0. As mentioned in a comment in the post, I realised that the approach of using a single master script to do this is more prone to failure: a number of commands can cause scripts to stop executing, for instance, so it would be better practice to minimise the operations contained in a particular script to increase the application's fault tolerance. This modified approach was suggested by a member of…

  • As mentioned in this previous post, there has been some discussion internally around the future of SDI. Given the change this will bring to applications, SDI is going to be around until we next deliberately choose to break binary application compatibility (something we just did with AutoCAD 2010 and typically try to do only every three releases). That said, SDI is very likely to go away at some point, so it does seem worth drilling further into the reasons for using it and trying to determine an appropriate way to remove current dependencies on it. Thanks to all of you…


  • A new project wizard for AutoCAD .NET development

    Some of you may remember a philosophical question I raised in a post some time ago. The overall consensus of the feedback we received was to prioritise delivering code samples (given a choice between code samples and wizard-like code-generation tools). Which we are doing, both via the ADN site and our developer blogs… but that doesn't mean some investment in code-generation tools isn't also appropriate, from time-to-time. 🙂 Cyrille Fauvel, who manages the Media & Entertainment arm of DevTech but also occasionally works on technical activities that relate to our other products, has put together a new (currently draft) version…


  • Highlighting named blocks using AutoCAD 2010’s overrule API from .NET

    This is a nice sample provided by Stephen Preston, who manages DevTech's Americas team. Stephen has put this together in anticipation of his upcoming AU class on the overrule API introduced in AutoCAD 2010. [I know the final class list has not yet been announced, but Stephen is co-owner of the Customization & Programming track at this year's AU and presumably has the inside skinny on the selected classes. Which means he has a head-start on preparing his material, lucky fellow. :-)] The sample allows the user to enter a text string that it uses to highlight any block containing…