.NET
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
Dimension Associatio n with VB
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
Hi All,
How do you Associate a dimension to a line using VB. I have not had any results searching for an example of this.
Thank you,
Brian
Solved! Go to Solution.
Re: Dimension Associatio n with VB
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
Take a look at this code, not sure about if this helps, though
~'J'~
C6309D9E0751D165D0934D0621DFF27919
Re: Dimension Associatio n with VB
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
Thanks for the response Hallex. I'll take a look at that.
I'm not looking for parametrics, just normal entities and associative dimensions.
I came across a post about reactors and using LISP, that I'm currently trying to hack something together in VB to operate with reactors. I'm not sure how this will turn out though.
Brian
Re: Dimension Associatio n with VB
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
Ok, I understand, but to create extension dictionary to set associativity
will be spend a lot of work
Here is simple way:
[CommandMethod("assocdim")]
public void CreateAssocDim()
{
Document doc = Autodesk.AutoCAD.ApplicationServices.Application.D ocumentManager.MdiActiveDocument;
Database db = doc.Database;
Editor ed = doc.Editor;
PromptEntityOptions peo = new PromptEntityOptions("\nSelect line: ");
peo.SetRejectMessage("\nYou have to select line only!");
peo.AddAllowedClass(typeof(Autodesk.AutoCAD.Databa seServices.Line), true);
PromptEntityResult res = ed.GetEntity(peo);
if (res.Status != PromptStatus.OK) return;
ObjectId id = res.ObjectId;
using (Transaction trans = db.TransactionManager.StartTransaction())
{
try
{
Autodesk.AutoCAD.DatabaseServices.Line ln = trans.GetObject(id, OpenMode.ForRead) as Autodesk.AutoCAD.DatabaseServices.Line;
Point3d p1 = ln.StartPoint;
Point3d p2 = ln.EndPoint;
Point3d txpt = p1;
Autodesk.AutoCAD.ApplicationServices.Application.S etSystemVariable("dimassoc", 2);
doc.SendStringToExecute("_dimlinear end " + p1.X.ToString() + "," + p1.Y.ToString() + "," + p1.Z.ToString() +
" end " + p2.X.ToString() + "," + p2.Y.ToString() + "," + p2.Z.ToString() + " " +
txpt.X.ToString() + " " + txpt.Y.ToString() + "," + txpt.Z.ToString() + " ", true, false, false);
trans.Commit();
}
catch (System.Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}If this is not enough so say me about
~'J'~
C6309D9E0751D165D0934D0621DFF27919
Re: Dimension Associatio n with VB
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
Does setting the DIMASSOC variable do wht you need?
Re: Dimension Associatio n with VB
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
Hi Jeff
The DIMASSOC variable doesn't affect creation of the associative dimension
usual way, unfortunately
~'J'~
C6309D9E0751D165D0934D0621DFF27919
Re: Dimension Associatio n with VB
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
Thank you Hallex !
As you already know, I'm sure, that worked.
Nice and simple.
I've read many of your other posts to peoples questions and pick up on many things. Your a good guy to have on here.
I've been with Autocad since v2.17 and have programed with it extensively, but this .Net stuff is a real challenge to get the hang of.
Makes me feel like a Knob / Newbie again.
Thanks,
Brian
Re: Dimension Associatio n with VB
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
Brian, thanks for your warm words
I'm happy if I can help,
Happy coding ![]()
~'J'~
C6309D9E0751D165D0934D0621DFF27919

