Are you over 18 and want to see adult content?
More Annotations
A complete backup of www.www.yournnpic.com
Are you over 18 and want to see adult content?
A complete backup of www.xhamster.desi
Are you over 18 and want to see adult content?
A complete backup of amateuralbum.net
Are you over 18 and want to see adult content?
A complete backup of thefappening.pro
Are you over 18 and want to see adult content?
A complete backup of www.nerdpervert.com
Are you over 18 and want to see adult content?
A complete backup of www.nakenprat.com
Are you over 18 and want to see adult content?
A complete backup of www.www.zenra.net
Are you over 18 and want to see adult content?
Favourite Annotations
A complete backup of trust-changer.com
Are you over 18 and want to see adult content?
A complete backup of australiaalive.com.au
Are you over 18 and want to see adult content?
A complete backup of riquezasemlimites.com.br
Are you over 18 and want to see adult content?
A complete backup of g-service.com.ua
Are you over 18 and want to see adult content?
A complete backup of kumicovnovel.blogspot.com
Are you over 18 and want to see adult content?
A complete backup of techbloggerbd.blogspot.com
Are you over 18 and want to see adult content?
Text
the
AUTOCAD 2021 .NET API ON NUGET By Madhukar Moogala For AutoCAD 2021 release we have posted API package on to Nuget. We have started posting AutoCAD .NET packages from AutoCAD 2015 release, from since then we regularly update and post .NET package as per AutoCAD release cycle. You simply select Project –> Manage NuGet Packages in INSERT A NEWLINE CHARACTER IN MTEXT For MText (.NET) or AcDbMText (ObjectARX C++) entities, the newline character is \P as opposed to the traditional ' ' escape character, so setting the content use \\P C#/C++ (double backslash is interpreted as one) or \P for VB.NET. (VB.NET) For a complete list of multi-line text formatting characters, visit Format Codes for Alternate Text FINDING ALL XREFS IN THE CURRENT DATABASE USING C#.NET Finding all XREFs in the current database using C#.NET. The db.GetHostDwgXrefGraph () method returns the Xref hierarchy for the current drawing as an XrefGraph object. Here’s a simple code snippet to demonstrate its use – in this case to print the Xref CREATING ACCURATE RANGEBOX FOR COMPONENT By Philippe Leefsma Q: The RangeBox property returns an axis aligned bounding box. In the case the component is rotated 45deg around Z axis for example, it will return a rather bigger bounding box than the tight box of the component. A: The range box is not always a tight ADDING EXTENSION DICTIONARY By Virupaksha Aithal Each AutoCAD object can store a custom data with it. Normally this functionality is used by AutoCAD graphical entities to store non graphical data. For example, an AutoCAD line can store a string or/and a double with it (in its extension ADDING A SPATIAL FILTER TO A BLOCK REFERENCE By Madhukar Moogala. This blog post is minor tweak to the existing post written by my colleague Xiaodong back in 2013, with the recent development changes internally, the code flow is causing crash in ACAD 2015 -32 machines, to avoid such mishap and to have seamless code across both the machines I have re written the code.. Reason for new change in the code : CONNECTING VAULT AND ACCESSING VAULT FILE STATUS THROUGH By Chandra shekar Gopal Inventor iLoigc is very useful to Inventor developers due to easy development and easy deployment with in built editor. As iLogic rules can be attached or incorporated with Inventor documents, it encourages reusability of iLogic rules. iLogic rules can be triggered an automatic update of a CREATING DONUT USING OBJECTARX Creating Donut using ObjectARX. In AutoCAD we have the "DONUT" command, however there is no such entity as a donut. A donut is simply a LWPOLYLINE (AcDbPolyline) with two segments. Each segment has a bulge of 1.0 and the start point of one segment is REMOVE SCALING FROM TRANSFORMATION MATRIX By Adam Nagy If you are trying to create a transformation matrix and e.g. because of imprecision it will get a scaling factor, and this scaling factor is non-uniform (i.e. different value along the X, Y or Z axis) then you cannot use it to transform certain entities like a PROPERTY DEFINITION FORMULA TO GET ATTRIBUTES Property Definition Formula to Get Attributes. Some properties return array of IDispatch which cannot be used in vbscript of formula definition, for instance the attributes returned by BlockReference are of VarType 8201 which is indicates an array of IDispatch pointers. Using ConvertToVariantArray can convert it to array of variant so thatthe
AUTOCAD 2021 .NET API ON NUGET By Madhukar Moogala For AutoCAD 2021 release we have posted API package on to Nuget. We have started posting AutoCAD .NET packages from AutoCAD 2015 release, from since then we regularly update and post .NET package as per AutoCAD release cycle. You simply select Project –> Manage NuGet Packages in INSERT A NEWLINE CHARACTER IN MTEXT For MText (.NET) or AcDbMText (ObjectARX C++) entities, the newline character is \P as opposed to the traditional ' ' escape character, so setting the content use \\P C#/C++ (double backslash is interpreted as one) or \P for VB.NET. (VB.NET) For a complete list of multi-line text formatting characters, visit Format Codes for Alternate Text FINDING ALL XREFS IN THE CURRENT DATABASE USING C#.NET Finding all XREFs in the current database using C#.NET. The db.GetHostDwgXrefGraph () method returns the Xref hierarchy for the current drawing as an XrefGraph object. Here’s a simple code snippet to demonstrate its use – in this case to print the Xref CREATING ACCURATE RANGEBOX FOR COMPONENT By Philippe Leefsma Q: The RangeBox property returns an axis aligned bounding box. In the case the component is rotated 45deg around Z axis for example, it will return a rather bigger bounding box than the tight box of the component. A: The range box is not always a tight ADDING EXTENSION DICTIONARY By Virupaksha Aithal Each AutoCAD object can store a custom data with it. Normally this functionality is used by AutoCAD graphical entities to store non graphical data. For example, an AutoCAD line can store a string or/and a double with it (in its extension ADDING A SPATIAL FILTER TO A BLOCK REFERENCE By Madhukar Moogala. This blog post is minor tweak to the existing post written by my colleague Xiaodong back in 2013, with the recent development changes internally, the code flow is causing crash in ACAD 2015 -32 machines, to avoid such mishap and to have seamless code across both the machines I have re written the code.. Reason for new change in the code : CONNECTING VAULT AND ACCESSING VAULT FILE STATUS THROUGH By Chandra shekar Gopal Inventor iLoigc is very useful to Inventor developers due to easy development and easy deployment with in built editor. As iLogic rules can be attached or incorporated with Inventor documents, it encourages reusability of iLogic rules. iLogic rules can be triggered an automatic update of a CREATING DONUT USING OBJECTARX Creating Donut using ObjectARX. In AutoCAD we have the "DONUT" command, however there is no such entity as a donut. A donut is simply a LWPOLYLINE (AcDbPolyline) with two segments. Each segment has a bulge of 1.0 and the start point of one segment is REMOVE SCALING FROM TRANSFORMATION MATRIX By Adam Nagy If you are trying to create a transformation matrix and e.g. because of imprecision it will get a scaling factor, and this scaling factor is non-uniform (i.e. different value along the X, Y or Z axis) then you cannot use it to transform certain entities like a FINDING ALL XREFS IN THE CURRENT DATABASE USING C#.NET Finding all XREFs in the current database using C#.NET. The db.GetHostDwgXrefGraph () method returns the Xref hierarchy for the current drawing as an XrefGraph object. Here’s a simple code snippet to demonstrate its use – in this case to print the Xref INSERTING A BLOCK WITH ATTRIBUTES TO MODELSPACE By Stephen Preston The definition of a block is stored in a BlockTableRecord. If that block has attributes, these are stored in the BlockTableRecord as AttributeDefinitions – just like any other entity is stored in the BlockTableRecord. When we insert a block into a drawing (e.g. into modelspace), we insert CUSTOM PYTHON SCRIPTS FOR AUTOCAD PLANT 3D PART 5 Testing. Once the script is tested, we need to be able to test it in a catalog. For Plant 3D, all of the nozzles are read from a shared content folder path. You can find the path by running the spec editor as administrator, and then going to Tools > Modify Shared Content folder. The default path is C:\AutoCAD Plant 3D 2016 Content\. INVENTOR DOCUMENT SUB-TYPES by Vladimir Ananyev Issue How to determine the sub-type of Inventor documents? e.g. Whether the document is a sheet metal rather than a regular part document. Solution Document Subtypes are primarily intended to classify geometry as belonging to a USING AUTOLISP TO READ AN ACCESS DATABASE VIA ADO Solution. Although there are no direct Visual LISP functions to read databases, you can use Microsoft's ActiveX ADO technology from AutoLISP to do this. The following code illustrates how to read the Customer table from the NorthWind sample database in the Office products using either the Microsoft Access drivers or ODBC. (vl-load-com) (defun ACCESSING VISIBLE ENTITIES IN A DYNAMIC BLOCK By Philippe Leefsma Here is a question once posted by an ADN member: How do I access the list of visible entities for a specific visibility state in a dynamic block that contains a visibility parameter? The following solution is a code sample based on a suggestion proposed byTony
PLOT TO WINDOW EXTENTS USING VBA By Madhukar Moogala I have received a query from an ADN partner that customer code to plot to window doesn’t plot and gives an empty print on certain drawings and same code works well for rest of drawings. The root cause of such weird behaviour is that the codedoesn’t
CONNECTING VAULT AND ACCESSING VAULT FILE STATUS THROUGH By Chandra shekar Gopal Inventor iLoigc is very useful to Inventor developers due to easy development and easy deployment with in built editor. As iLogic rules can be attached or incorporated with Inventor documents, it encourages reusability of iLogic rules. iLogic rules can be triggered an automatic update of a OPENING ERASED OBJECTS Opening erased Objects. When you erase an entity, it is immediately marked as erased. But you can always get back the entity as entity is not removed out of Database. For opening erased object, you need to specific the true as 3rd parameter to “GetObject” API of “Transaction”. Refer below code. COPYING (DEEPCLONING) FROM ONE DRAWING TO ANOTHER USING by Fenton Webb Here’s how to copy entities from the Model Space of a DWG file hosted inside of AutoCAD to an external DWG file. // copy Model Space to external DWG // by Fenton Webb, DevTech 14/9/2012public static void
CopySpaceToExtDWG() { // get the working database (in PROPERTY DEFINITION FORMULA TO GET ATTRIBUTES Property Definition Formula to Get Attributes. Some properties return array of IDispatch which cannot be used in vbscript of formula definition, for instance the attributes returned by BlockReference are of VarType 8201 which is indicates an array of IDispatch pointers. Using ConvertToVariantArray can convert it to array of variant so thatthe
AUTOCAD 2021 .NET API ON NUGET By Madhukar Moogala For AutoCAD 2021 release we have posted API package on to Nuget. We have started posting AutoCAD .NET packages from AutoCAD 2015 release, from since then we regularly update and post .NET package as per AutoCAD release cycle. You simply select Project –> Manage NuGet Packages in AUTOCAD DEVBLOG: WPF By Balaji Ramamoorthy. As you may already know, the BlockView .Net sample demonstrates the use of Graphics system to preview a drawing in a Windows form. The migrated sample that works with AutoCAD 2015 is available here.. To get the preview displayed inside a WPF user control hosted in an AutoCAD palette, poses a small problem. JOIN US FOR OUR DEVDAYS ONLINE WEBINARS Join us for our special series of webinars! Webinars are a great opportunity for you to learn about Autodesk Forge and, of course, where Autodesk is taking the desktop platforms in the coming year.Click on the links below to register today for the webinar(s) of your choice. All webinars start at 8am PST (4pm GMT, 5pm CET, 11amEST).
TO EMBED AUTOCAD DRAWING VIEWING CONTROL To Embed AutoCAD Drawing Viewing Control. By Madhukar Moogala. In this forum post my colleague Balaji discussed how to embed a Autodesk TrueView control in Windows Forms. From TrueView 2015, the control name is changed to dwgviewrAcCtrl.dll. This github post will walk you through on embedding view control. CREATING CIVIL 3D TIN SURFACE FROM CONTOURS (POLYLINES By Partha Sarkar. You have a DWG file with contour lines which are actually polylines with elevation values and you want to create a Civil 3D TIN Surface using those Polylines.. Here is a screenshot which shows few Polylines in a DWG file : If want to create a Civil 3D TIN Surface using these Polylines, first you need to create an empty TinSurface by using TinSurface.Create() API and then FINDING ALL XREFS IN THE CURRENT DATABASE USING C#.NET Finding all XREFs in the current database using C#.NET. The db.GetHostDwgXrefGraph () method returns the Xref hierarchy for the current drawing as an XrefGraph object. Here’s a simple code snippet to demonstrate its use – in this case to print the Xref INSERT A NEWLINE CHARACTER IN MTEXT For MText (.NET) or AcDbMText (ObjectARX C++) entities, the newline character is \P as opposed to the traditional ' ' escape character, so setting the content use \\P C#/C++ (double backslash is interpreted as one) or \P for VB.NET. (VB.NET) For a complete list of multi-line text formatting characters, visit Format Codes for Alternate Text INSERTING A BLOCK WITH ATTRIBUTES TO MODELSPACE By Stephen Preston The definition of a block is stored in a BlockTableRecord. If that block has attributes, these are stored in the BlockTableRecord as AttributeDefinitions – just like any other entity is stored in the BlockTableRecord. When we insert a block intoa
CONNECTING VAULT AND ACCESSING VAULT FILE STATUS THROUGH By Chandra shekar Gopal Inventor iLoigc is very useful to Inventor developers due to easy development and easy deployment with in built editor. As iLogic rules can be attached or incorporated with Inventor documents, it encourages reusability of iLogic rules. iLogic rules can be triggered an automatic update of a PROPERTY DEFINITION FORMULA TO GET ATTRIBUTES Property Definition Formula to Get Attributes. Some properties return array of IDispatch which cannot be used in vbscript of formula definition, for instance the attributes returned by BlockReference are of VarType 8201 which is indicates an array of IDispatch pointers. Using ConvertToVariantArray can convert it to array of variant so thatthe
AUTOCAD 2021 .NET API ON NUGET By Madhukar Moogala For AutoCAD 2021 release we have posted API package on to Nuget. We have started posting AutoCAD .NET packages from AutoCAD 2015 release, from since then we regularly update and post .NET package as per AutoCAD release cycle. You simply select Project –> Manage NuGet Packages in AUTOCAD DEVBLOG: WPF By Balaji Ramamoorthy. As you may already know, the BlockView .Net sample demonstrates the use of Graphics system to preview a drawing in a Windows form. The migrated sample that works with AutoCAD 2015 is available here.. To get the preview displayed inside a WPF user control hosted in an AutoCAD palette, poses a small problem. JOIN US FOR OUR DEVDAYS ONLINE WEBINARS Join us for our special series of webinars! Webinars are a great opportunity for you to learn about Autodesk Forge and, of course, where Autodesk is taking the desktop platforms in the coming year.Click on the links below to register today for the webinar(s) of your choice. All webinars start at 8am PST (4pm GMT, 5pm CET, 11amEST).
TO EMBED AUTOCAD DRAWING VIEWING CONTROL To Embed AutoCAD Drawing Viewing Control. By Madhukar Moogala. In this forum post my colleague Balaji discussed how to embed a Autodesk TrueView control in Windows Forms. From TrueView 2015, the control name is changed to dwgviewrAcCtrl.dll. This github post will walk you through on embedding view control. CREATING CIVIL 3D TIN SURFACE FROM CONTOURS (POLYLINES By Partha Sarkar. You have a DWG file with contour lines which are actually polylines with elevation values and you want to create a Civil 3D TIN Surface using those Polylines.. Here is a screenshot which shows few Polylines in a DWG file : If want to create a Civil 3D TIN Surface using these Polylines, first you need to create an empty TinSurface by using TinSurface.Create() API and then FINDING ALL XREFS IN THE CURRENT DATABASE USING C#.NET Finding all XREFs in the current database using C#.NET. The db.GetHostDwgXrefGraph () method returns the Xref hierarchy for the current drawing as an XrefGraph object. Here’s a simple code snippet to demonstrate its use – in this case to print the Xref INSERT A NEWLINE CHARACTER IN MTEXT For MText (.NET) or AcDbMText (ObjectARX C++) entities, the newline character is \P as opposed to the traditional ' ' escape character, so setting the content use \\P C#/C++ (double backslash is interpreted as one) or \P for VB.NET. (VB.NET) For a complete list of multi-line text formatting characters, visit Format Codes for Alternate Text INSERTING A BLOCK WITH ATTRIBUTES TO MODELSPACE By Stephen Preston The definition of a block is stored in a BlockTableRecord. If that block has attributes, these are stored in the BlockTableRecord as AttributeDefinitions – just like any other entity is stored in the BlockTableRecord. When we insert a block intoa
CONNECTING VAULT AND ACCESSING VAULT FILE STATUS THROUGH By Chandra shekar Gopal Inventor iLoigc is very useful to Inventor developers due to easy development and easy deployment with in built editor. As iLogic rules can be attached or incorporated with Inventor documents, it encourages reusability of iLogic rules. iLogic rules can be triggered an automatic update of a AUTOCAD DEVBLOG: WPF By Balaji Ramamoorthy. As you may already know, the BlockView .Net sample demonstrates the use of Graphics system to preview a drawing in a Windows form. The migrated sample that works with AutoCAD 2015 is available here.. To get the preview displayed inside a WPF user control hosted in an AutoCAD palette, poses a small problem. INSERTING A BLOCK WITH ATTRIBUTES TO MODELSPACE By Stephen Preston The definition of a block is stored in a BlockTableRecord. If that block has attributes, these are stored in the BlockTableRecord as AttributeDefinitions – just like any other entity is stored in the BlockTableRecord. When we insert a block into a drawing (e.g. into modelspace), we insert CUSTOM PYTHON SCRIPTS FOR AUTOCAD PLANT 3D PART 5 Testing. Once the script is tested, we need to be able to test it in a catalog. For Plant 3D, all of the nozzles are read from a shared content folder path. You can find the path by running the spec editor as administrator, and then going to Tools > Modify Shared Content folder. The default path is C:\AutoCAD Plant 3D 2016 Content\. ADDING A SPATIAL FILTER TO A BLOCK REFERENCE By Madhukar Moogala. This blog post is minor tweak to the existing post written by my colleague Xiaodong back in 2013, with the recent development changes internally, the code flow is causing crash in ACAD 2015 -32 machines, to avoid such mishap and to have seamless code across both the machines I have re written the code.. Reason for new change in the code : CONNECTING VAULT AND ACCESSING VAULT FILE STATUS THROUGH By Chandra shekar Gopal Inventor iLoigc is very useful to Inventor developers due to easy development and easy deployment with in built editor. As iLogic rules can be attached or incorporated with Inventor documents, it encourages reusability of iLogic rules. iLogic rules can be triggered an automatic update of a EXPLAINING THE OBJECTARX CDOCDATA CLASS By Fenton Webb If you are new to ObjectARX or have never seen it, the CDocData class may appear a little confusing to some. We use this class in some of our ObjectARX sample code to handle document specific data. What is document specific data? The best way to explain CREATING A DRAWING FROM SCRATCH WITH THE INVENTOR API By Philippe Leefsma Q: Is it possible to create Drawing Dimensions and other annotation such as a text box with a leader using the Inventor API? A: The following VB.NET example show how to create a new drawing and add views. Dimensions in a view are created along with a HOW TO CREATE MLEADER OBJECTS IN .NET? By Philippe Leefsma Below are two samples that illustrates MLeader creation in C#: The first creates a MLeader with a MText content: public static void netTextMLeader() { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; Editor ed = doc.Editor; using (TransactionTx =
CREATING DONUT USING OBJECTARX Creating Donut using ObjectARX. In AutoCAD we have the "DONUT" command, however there is no such entity as a donut. A donut is simply a LWPOLYLINE (AcDbPolyline) with two segments. Each segment has a bulge of 1.0 and the start point of one segment is COPYING (DEEPCLONING) FROM ONE DRAWING TO ANOTHER USING by Fenton Webb Here’s how to copy entities from the Model Space of a DWG file hosted inside of AutoCAD to an external DWG file. // copy Model Space to external DWG // by Fenton Webb, DevTech 14/9/2012public static void
CopySpaceToExtDWG() { // get the working database (in PROPERTY DEFINITION FORMULA TO GET ATTRIBUTES Some properties return array of IDispatch which cannot be used in vbscript of formula definition, for instance the attributes returned by BlockReference are of VarType 8201 which is indicates an array of IDispatch pointers. Using ConvertToVariantArray can convert it to array of variant so that the elements can be reached AUTOCAD 2021 .NET API ON NUGET By Madhukar Moogala For AutoCAD 2021 release we have posted API package on to Nuget. We have started posting AutoCAD .NET packages from AutoCAD 2015 release, from since then we regularly update and post .NET package as per AutoCAD release cycle. You simply select Project –> Manage NuGet Packages in FINDING ALL XREFS IN THE CURRENT DATABASE USING C#.NET By Stephen Preston The db.GetHostDwgXrefGraph() method returns the Xref hierarchy for the current drawing as an XrefGraph object. Here’s a simple code snippet to demonstrate its use – in this case to print the Xref structure of the current drawing to the command line. public static void XrefGraph() { INSERT A NEWLINE CHARACTER IN MTEXT By Augusto Goncalves For MText (.NET) or AcDbMText (ObjectARX C++) entities, the newline character is \P as opposed to the traditional ' ' escape character, so setting the content use \\P C#/C++ (double backslash is interpreted as one) or \P for VB.NET. (C#) MText myText = // open me here myText.Contents CREATING ACCURATE RANGEBOX FOR COMPONENT By Philippe Leefsma Q: The RangeBox property returns an axis aligned bounding box. In the case the component is rotated 45deg around Z axis for example, it will return a rather bigger bounding box than the tight box of the component. A: The range box is not always a tight ADDING A SPATIAL FILTER TO A BLOCK REFERENCE By Madhukar Moogala. This blog post is minor tweak to the existing post written by my colleague Xiaodong back in 2013, with the recent development changes internally, the code flow is causing crash in ACAD 2015 -32 machines, to avoid such mishap and to have seamless code across both the machines I have re written the code.. Reason for new change in the code : CONNECTING VAULT AND ACCESSING VAULT FILE STATUS THROUGH By Chandra shekar Gopal Inventor iLoigc is very useful to Inventor developers due to easy development and easy deployment with in built editor. As iLogic rules can be attached or incorporated with Inventor documents, it encourages reusability of iLogic rules. iLogic rules can be triggered an automatic update of a ITERATING THROUGH THE GROUP DICTIONARY By Virupaksha Aithal Below code shows the procedure to Iterating through the group dictionary. The code also shows the procedure to get entity ids from the groups. static public void listGroup() { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; Editor ed = REMOVE SCALING FROM TRANSFORMATION MATRIX By Adam Nagy If you are trying to create a transformation matrix and e.g. because of imprecision it will get a scaling factor, and this scaling factor is non-uniform (i.e. different value along the X, Y or Z axis) then you cannot use it to transform certain entities like a CREATING DONUT USING OBJECTARX By Balaji Ramamoorthy In AutoCAD we have the "DONUT" command, however there is no such entity as a donut. A donut is simply a LWPOLYLINE (AcDbPolyline) with two segments. Each segment has a bulge of 1.0 and the start point of one segment is the end point of the other PROPERTY DEFINITION FORMULA TO GET ATTRIBUTES Some properties return array of IDispatch which cannot be used in vbscript of formula definition, for instance the attributes returned by BlockReference are of VarType 8201 which is indicates an array of IDispatch pointers. Using ConvertToVariantArray can convert it to array of variant so that the elements can be reached AUTOCAD 2021 .NET API ON NUGET By Madhukar Moogala For AutoCAD 2021 release we have posted API package on to Nuget. We have started posting AutoCAD .NET packages from AutoCAD 2015 release, from since then we regularly update and post .NET package as per AutoCAD release cycle. You simply select Project –> Manage NuGet Packages in FINDING ALL XREFS IN THE CURRENT DATABASE USING C#.NET By Stephen Preston The db.GetHostDwgXrefGraph() method returns the Xref hierarchy for the current drawing as an XrefGraph object. Here’s a simple code snippet to demonstrate its use – in this case to print the Xref structure of the current drawing to the command line. public static void XrefGraph() { INSERT A NEWLINE CHARACTER IN MTEXT By Augusto Goncalves For MText (.NET) or AcDbMText (ObjectARX C++) entities, the newline character is \P as opposed to the traditional ' ' escape character, so setting the content use \\P C#/C++ (double backslash is interpreted as one) or \P for VB.NET. (C#) MText myText = // open me here myText.Contents CREATING ACCURATE RANGEBOX FOR COMPONENT By Philippe Leefsma Q: The RangeBox property returns an axis aligned bounding box. In the case the component is rotated 45deg around Z axis for example, it will return a rather bigger bounding box than the tight box of the component. A: The range box is not always a tight ADDING A SPATIAL FILTER TO A BLOCK REFERENCE By Madhukar Moogala. This blog post is minor tweak to the existing post written by my colleague Xiaodong back in 2013, with the recent development changes internally, the code flow is causing crash in ACAD 2015 -32 machines, to avoid such mishap and to have seamless code across both the machines I have re written the code.. Reason for new change in the code : CONNECTING VAULT AND ACCESSING VAULT FILE STATUS THROUGH By Chandra shekar Gopal Inventor iLoigc is very useful to Inventor developers due to easy development and easy deployment with in built editor. As iLogic rules can be attached or incorporated with Inventor documents, it encourages reusability of iLogic rules. iLogic rules can be triggered an automatic update of a ITERATING THROUGH THE GROUP DICTIONARY By Virupaksha Aithal Below code shows the procedure to Iterating through the group dictionary. The code also shows the procedure to get entity ids from the groups. static public void listGroup() { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; Editor ed = REMOVE SCALING FROM TRANSFORMATION MATRIX By Adam Nagy If you are trying to create a transformation matrix and e.g. because of imprecision it will get a scaling factor, and this scaling factor is non-uniform (i.e. different value along the X, Y or Z axis) then you cannot use it to transform certain entities like a CREATING DONUT USING OBJECTARX By Balaji Ramamoorthy In AutoCAD we have the "DONUT" command, however there is no such entity as a donut. A donut is simply a LWPOLYLINE (AcDbPolyline) with two segments. Each segment has a bulge of 1.0 and the start point of one segment is the end point of the other CONNECTING VAULT AND ACCESSING VAULT FILE STATUS THROUGH By Chandra shekar Gopal Inventor iLoigc is very useful to Inventor developers due to easy development and easy deployment with in built editor. As iLogic rules can be attached or incorporated with Inventor documents, it encourages reusability of iLogic rules. iLogic rules can be triggered an automatic update of a ACCESSING VISIBLE ENTITIES IN A DYNAMIC BLOCK By Philippe Leefsma Here is a question once posted by an ADN member: How do I access the list of visible entities for a specific visibility state in a dynamic block that contains a visibility parameter? The following solution is a code sample based on a suggestion proposed byTony
INVENTOR DOCUMENT SUB-TYPES by Vladimir Ananyev Issue How to determine the sub-type of Inventor documents? e.g. Whether the document is a sheet metal rather than a regular part document. Solution Document Subtypes are primarily intended to classify geometry as belonging to a CUSTOM PYTHON SCRIPTS FOR AUTOCAD PLANT 3D PART 5 By David Wolfe (Contributor) Get start with Part 1, Part 2, Part 3 and Part 4 of this series. Python Script Nozzles in AutoCAD Plant 3D This article will look at creating a nozzle to use in the nozzles catalog which AutoCAD Plant 3D equipment loads when putting nozzles on WORKING WITH TOOLPALETTE GROUPS USING .NET By Balaji Ramamoorthy The "CAcTcUiToolPaletteGroup" class is not exposed in the .Net API. To work around this limitation, utility methods can be implemented using mixed-managed code that perform actions such as creating a tool palette group, adding palettes to it and removing the tool palette group. Here is a sample ADDING A SPATIAL FILTER TO A BLOCK REFERENCE By Madhukar Moogala. This blog post is minor tweak to the existing post written by my colleague Xiaodong back in 2013, with the recent development changes internally, the code flow is causing crash in ACAD 2015 -32 machines, to avoid such mishap and to have seamless code across both the machines I have re written the code.. Reason for new change in the code : EXPLAINING THE OBJECTARX CDOCDATA CLASS By Fenton Webb If you are new to ObjectARX or have never seen it, the CDocData class may appear a little confusing to some. We use this class in some of our ObjectARX sample code to handle document specific data. What is document specific data? The best way to explain COPYING (DEEPCLONING) FROM ONE DRAWING TO ANOTHER USING by Fenton Webb Here’s how to copy entities from the Model Space of a DWG file hosted inside of AutoCAD to an external DWG file. // copy Model Space to external DWG // by Fenton Webb, DevTech 14/9/2012public static void
CopySpaceToExtDWG() { // get the working database (in CREATING DONUT USING OBJECTARX By Balaji Ramamoorthy In AutoCAD we have the "DONUT" command, however there is no such entity as a donut. A donut is simply a LWPOLYLINE (AcDbPolyline) with two segments. Each segment has a bulge of 1.0 and the start point of one segment is the end point of the other START COMMAND WITH ESCAPE CHARACTERS ^C^C By Adam Nagy I'd like to start some commands from my modeless dialog's buttons. I already found that in case of SendStringToExecute I should use '\x03' characters instead of ^C. My only problem is that in this case if no command is running then I end up with two *Cancel* PROPERTY DEFINITION FORMULA TO GET ATTRIBUTES Property Definition Formula to Get Attributes. Some properties return array of IDispatch which cannot be used in vbscript of formula definition, for instance the attributes returned by BlockReference are of VarType 8201 which is indicates an array of IDispatch pointers. Using ConvertToVariantArray can convert it to array of variant so thatthe
AUTOCAD 2021 .NET API ON NUGET By Madhukar Moogala For AutoCAD 2021 release we have posted API package on to Nuget. We have started posting AutoCAD .NET packages from AutoCAD 2015 release, from since then we regularly update and post .NET package as per AutoCAD release cycle. You simply select Project –> Manage NuGet Packages in INSERT A NEWLINE CHARACTER IN MTEXT For MText (.NET) or AcDbMText (ObjectARX C++) entities, the newline character is \P as opposed to the traditional ' ' escape character, so setting the content use \\P C#/C++ (double backslash is interpreted as one) or \P for VB.NET. (VB.NET) For a complete list of multi-line text formatting characters, visit Format Codes for Alternate Text CREATING ACCURATE RANGEBOX FOR COMPONENT By Philippe Leefsma Q: The RangeBox property returns an axis aligned bounding box. In the case the component is rotated 45deg around Z axis for example, it will return a rather bigger bounding box than the tight box of the component. A: The range box is not always a tight ADDING EXTENSION DICTIONARY By Virupaksha Aithal Each AutoCAD object can store a custom data with it. Normally this functionality is used by AutoCAD graphical entities to store non graphical data. For example, an AutoCAD line can store a string or/and a double with it (in its extension ADDING A SPATIAL FILTER TO A BLOCK REFERENCE By Madhukar Moogala. This blog post is minor tweak to the existing post written by my colleague Xiaodong back in 2013, with the recent development changes internally, the code flow is causing crash in ACAD 2015 -32 machines, to avoid such mishap and to have seamless code across both the machines I have re written the code.. Reason for new change in the code : FINDING ALL XREFS IN THE CURRENT DATABASE USING C#.NET Finding all XREFs in the current database using C#.NET. The db.GetHostDwgXrefGraph () method returns the Xref hierarchy for the current drawing as an XrefGraph object. Here’s a simple code snippet to demonstrate its use – in this case to print the Xref CONNECTING VAULT AND ACCESSING VAULT FILE STATUS THROUGH By Chandra shekar Gopal Inventor iLoigc is very useful to Inventor developers due to easy development and easy deployment with in built editor. As iLogic rules can be attached or incorporated with Inventor documents, it encourages reusability of iLogic rules. iLogic rules can be triggered an automatic update of a ITERATING THROUGH THE GROUP DICTIONARY By Virupaksha Aithal Below code shows the procedure to Iterating through the group dictionary. The code also shows the procedure to get entity ids from the groups. static public void listGroup() { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; Editor ed = CREATING DONUT USING OBJECTARX Creating Donut using ObjectARX. In AutoCAD we have the "DONUT" command, however there is no such entity as a donut. A donut is simply a LWPOLYLINE (AcDbPolyline) with two segments. Each segment has a bulge of 1.0 and the start point of one segment is PROPERTY DEFINITION FORMULA TO GET ATTRIBUTES Property Definition Formula to Get Attributes. Some properties return array of IDispatch which cannot be used in vbscript of formula definition, for instance the attributes returned by BlockReference are of VarType 8201 which is indicates an array of IDispatch pointers. Using ConvertToVariantArray can convert it to array of variant so thatthe
AUTOCAD 2021 .NET API ON NUGET By Madhukar Moogala For AutoCAD 2021 release we have posted API package on to Nuget. We have started posting AutoCAD .NET packages from AutoCAD 2015 release, from since then we regularly update and post .NET package as per AutoCAD release cycle. You simply select Project –> Manage NuGet Packages in INSERT A NEWLINE CHARACTER IN MTEXT For MText (.NET) or AcDbMText (ObjectARX C++) entities, the newline character is \P as opposed to the traditional ' ' escape character, so setting the content use \\P C#/C++ (double backslash is interpreted as one) or \P for VB.NET. (VB.NET) For a complete list of multi-line text formatting characters, visit Format Codes for Alternate Text CREATING ACCURATE RANGEBOX FOR COMPONENT By Philippe Leefsma Q: The RangeBox property returns an axis aligned bounding box. In the case the component is rotated 45deg around Z axis for example, it will return a rather bigger bounding box than the tight box of the component. A: The range box is not always a tight FINDING ALL XREFS IN THE CURRENT DATABASE USING C#.NET Finding all XREFs in the current database using C#.NET. The db.GetHostDwgXrefGraph () method returns the Xref hierarchy for the current drawing as an XrefGraph object. Here’s a simple code snippet to demonstrate its use – in this case to print the Xref WORKING WITH TOOLPALETTE GROUPS USING .NET By Balaji Ramamoorthy The "CAcTcUiToolPaletteGroup" class is not exposed in the .Net API. To work around this limitation, utility methods can be implemented using mixed-managed code that perform actions such as creating a tool palette group, adding palettes to it and removing the tool palette group. Here is a sample CONNECTING VAULT AND ACCESSING VAULT FILE STATUS THROUGH By Chandra shekar Gopal Inventor iLoigc is very useful to Inventor developers due to easy development and easy deployment with in built editor. As iLogic rules can be attached or incorporated with Inventor documents, it encourages reusability of iLogic rules. iLogic rules can be triggered an automatic update of a ITERATING THROUGH THE GROUP DICTIONARY By Virupaksha Aithal Below code shows the procedure to Iterating through the group dictionary. The code also shows the procedure to get entity ids from the groups. static public void listGroup() { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; Editor ed = REMOVE SCALING FROM TRANSFORMATION MATRIX By Adam Nagy If you are trying to create a transformation matrix and e.g. because of imprecision it will get a scaling factor, and this scaling factor is non-uniform (i.e. different value along the X, Y or Z axis) then you cannot use it to transform certain entities like a CREATING DONUT USING OBJECTARX Creating Donut using ObjectARX. In AutoCAD we have the "DONUT" command, however there is no such entity as a donut. A donut is simply a LWPOLYLINE (AcDbPolyline) with two segments. Each segment has a bulge of 1.0 and the start point of one segment is CONNECTING VAULT AND ACCESSING VAULT FILE STATUS THROUGH By Chandra shekar Gopal Inventor iLoigc is very useful to Inventor developers due to easy development and easy deployment with in built editor. As iLogic rules can be attached or incorporated with Inventor documents, it encourages reusability of iLogic rules. iLogic rules can be triggered an automatic update of a ACCESSING VISIBLE ENTITIES IN A DYNAMIC BLOCK By Philippe Leefsma Here is a question once posted by an ADN member: How do I access the list of visible entities for a specific visibility state in a dynamic block that contains a visibility parameter? The following solution is a code sample based on a suggestion proposed byTony
INVENTOR DOCUMENT SUB-TYPES by Vladimir Ananyev Issue How to determine the sub-type of Inventor documents? e.g. Whether the document is a sheet metal rather than a regular part document. Solution Document Subtypes are primarily intended to classify geometry as belonging to a ADDING A SPATIAL FILTER TO A BLOCK REFERENCE By Madhukar Moogala. This blog post is minor tweak to the existing post written by my colleague Xiaodong back in 2013, with the recent development changes internally, the code flow is causing crash in ACAD 2015 -32 machines, to avoid such mishap and to have seamless code across both the machines I have re written the code.. Reason for new change in the code : WORKING WITH TOOLPALETTE GROUPS USING .NET By Balaji Ramamoorthy The "CAcTcUiToolPaletteGroup" class is not exposed in the .Net API. To work around this limitation, utility methods can be implemented using mixed-managed code that perform actions such as creating a tool palette group, adding palettes to it and removing the tool palette group. Here is a sample EXPLAINING THE OBJECTARX CDOCDATA CLASS By Fenton Webb If you are new to ObjectARX or have never seen it, the CDocData class may appear a little confusing to some. We use this class in some of our ObjectARX sample code to handle document specific data. What is document specific data? The best way to explain HOW TO CREATE MLEADER OBJECTS IN .NET? By Philippe Leefsma Below are two samples that illustrates MLeader creation in C#: The first creates a MLeader with a MText content: public static void netTextMLeader() { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; Editor ed = doc.Editor; using (TransactionTx =
COPYING (DEEPCLONING) FROM ONE DRAWING TO ANOTHER USING by Fenton Webb Here’s how to copy entities from the Model Space of a DWG file hosted inside of AutoCAD to an external DWG file. // copy Model Space to external DWG // by Fenton Webb, DevTech 14/9/2012public static void
CopySpaceToExtDWG() { // get the working database (in CREATING DONUT USING OBJECTARX Creating Donut using ObjectARX. In AutoCAD we have the "DONUT" command, however there is no such entity as a donut. A donut is simply a LWPOLYLINE (AcDbPolyline) with two segments. Each segment has a bulge of 1.0 and the start point of one segment is START COMMAND WITH ESCAPE CHARACTERS ^C^C By Adam Nagy I'd like to start some commands from my modeless dialog's buttons. I already found that in case of SendStringToExecute I should use '\x03' characters instead of ^C. My only problem is that in this case if no command is running then I end up with two *Cancel* PROPERTY DEFINITION FORMULA TO GET ATTRIBUTES Property Definition Formula to Get Attributes. Some properties return array of IDispatch which cannot be used in vbscript of formula definition, for instance the attributes returned by BlockReference are of VarType 8201 which is indicates an array of IDispatch pointers. Using ConvertToVariantArray can convert it to array of variant so thatthe
AUTOCAD 2021 .NET API ON NUGET By Madhukar Moogala For AutoCAD 2021 release we have posted API package on to Nuget. We have started posting AutoCAD .NET packages from AutoCAD 2015 release, from since then we regularly update and post .NET package as per AutoCAD release cycle. You simply select Project –> Manage NuGet Packages in INSERT A NEWLINE CHARACTER IN MTEXT For MText (.NET) or AcDbMText (ObjectARX C++) entities, the newline character is \P as opposed to the traditional ' ' escape character, so setting the content use \\P C#/C++ (double backslash is interpreted as one) or \P for VB.NET. (VB.NET) For a complete list of multi-line text formatting characters, visit Format Codes for Alternate Text CREATING ACCURATE RANGEBOX FOR COMPONENT By Philippe Leefsma Q: The RangeBox property returns an axis aligned bounding box. In the case the component is rotated 45deg around Z axis for example, it will return a rather bigger bounding box than the tight box of the component. A: The range box is not always a tight INVENTOR DOCUMENT SUB-TYPES by Vladimir Ananyev Issue How to determine the sub-type of Inventor documents? e.g. Whether the document is a sheet metal rather than a regular part document. Solution Document Subtypes are primarily intended to classify geometry as belonging to a HOW TO CREATE MLEADER OBJECTS IN .NET? By Philippe Leefsma Below are two samples that illustrates MLeader creation in C#: The first creates a MLeader with a MText content: public static void netTextMLeader() { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; Editor ed = doc.Editor; using (TransactionTx =
FINDING ALL XREFS IN THE CURRENT DATABASE USING C#.NET Finding all XREFs in the current database using C#.NET. The db.GetHostDwgXrefGraph () method returns the Xref hierarchy for the current drawing as an XrefGraph object. Here’s a simple code snippet to demonstrate its use – in this case to print the Xref USING AUTOLISP TO READ AN ACCESS DATABASE VIA ADO Solution. Although there are no direct Visual LISP functions to read databases, you can use Microsoft's ActiveX ADO technology from AutoLISP to do this. The following code illustrates how to read the Customer table from the NorthWind sample database in the Office products using either the Microsoft Access drivers or ODBC. (vl-load-com) (defun CONNECTING VAULT AND ACCESSING VAULT FILE STATUS THROUGH By Chandra shekar Gopal Inventor iLoigc is very useful to Inventor developers due to easy development and easy deployment with in built editor. As iLogic rules can be attached or incorporated with Inventor documents, it encourages reusability of iLogic rules. iLogic rules can be triggered an automatic update of a CREATING DONUT USING OBJECTARX By Balaji Ramamoorthy In AutoCAD we have the "DONUT" command, however there is no such entity as a donut. A donut is simply a LWPOLYLINE (AcDbPolyline) with two segments. Each segment has a bulge of 1.0 and the start point of one segment is the end point of the other PROPERTY DEFINITION FORMULA TO GET ATTRIBUTES Property Definition Formula to Get Attributes. Some properties return array of IDispatch which cannot be used in vbscript of formula definition, for instance the attributes returned by BlockReference are of VarType 8201 which is indicates an array of IDispatch pointers. Using ConvertToVariantArray can convert it to array of variant so thatthe
AUTOCAD 2021 .NET API ON NUGET By Madhukar Moogala For AutoCAD 2021 release we have posted API package on to Nuget. We have started posting AutoCAD .NET packages from AutoCAD 2015 release, from since then we regularly update and post .NET package as per AutoCAD release cycle. You simply select Project –> Manage NuGet Packages in INSERT A NEWLINE CHARACTER IN MTEXT For MText (.NET) or AcDbMText (ObjectARX C++) entities, the newline character is \P as opposed to the traditional ' ' escape character, so setting the content use \\P C#/C++ (double backslash is interpreted as one) or \P for VB.NET. (VB.NET) For a complete list of multi-line text formatting characters, visit Format Codes for Alternate Text CREATING ACCURATE RANGEBOX FOR COMPONENT By Philippe Leefsma Q: The RangeBox property returns an axis aligned bounding box. In the case the component is rotated 45deg around Z axis for example, it will return a rather bigger bounding box than the tight box of the component. A: The range box is not always a tight INVENTOR DOCUMENT SUB-TYPES by Vladimir Ananyev Issue How to determine the sub-type of Inventor documents? e.g. Whether the document is a sheet metal rather than a regular part document. Solution Document Subtypes are primarily intended to classify geometry as belonging to a HOW TO CREATE MLEADER OBJECTS IN .NET? By Philippe Leefsma Below are two samples that illustrates MLeader creation in C#: The first creates a MLeader with a MText content: public static void netTextMLeader() { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; Editor ed = doc.Editor; using (TransactionTx =
FINDING ALL XREFS IN THE CURRENT DATABASE USING C#.NET Finding all XREFs in the current database using C#.NET. The db.GetHostDwgXrefGraph () method returns the Xref hierarchy for the current drawing as an XrefGraph object. Here’s a simple code snippet to demonstrate its use – in this case to print the Xref USING AUTOLISP TO READ AN ACCESS DATABASE VIA ADO Solution. Although there are no direct Visual LISP functions to read databases, you can use Microsoft's ActiveX ADO technology from AutoLISP to do this. The following code illustrates how to read the Customer table from the NorthWind sample database in the Office products using either the Microsoft Access drivers or ODBC. (vl-load-com) (defun CONNECTING VAULT AND ACCESSING VAULT FILE STATUS THROUGH By Chandra shekar Gopal Inventor iLoigc is very useful to Inventor developers due to easy development and easy deployment with in built editor. As iLogic rules can be attached or incorporated with Inventor documents, it encourages reusability of iLogic rules. iLogic rules can be triggered an automatic update of a CREATING DONUT USING OBJECTARX By Balaji Ramamoorthy In AutoCAD we have the "DONUT" command, however there is no such entity as a donut. A donut is simply a LWPOLYLINE (AcDbPolyline) with two segments. Each segment has a bulge of 1.0 and the start point of one segment is the end point of the other AUTOCAD DEVBLOG: WPF By Balaji Ramamoorthy. As you may already know, the BlockView .Net sample demonstrates the use of Graphics system to preview a drawing in a Windows form. The migrated sample that works with AutoCAD 2015 is available here.. To get the preview displayed inside a WPF user control hosted in an AutoCAD palette, poses a small problem. FINDING ALL XREFS IN THE CURRENT DATABASE USING C#.NET Finding all XREFs in the current database using C#.NET. The db.GetHostDwgXrefGraph () method returns the Xref hierarchy for the current drawing as an XrefGraph object. Here’s a simple code snippet to demonstrate its use – in this case to print the Xref USING AUTOLISP TO READ AN ACCESS DATABASE VIA ADO Solution. Although there are no direct Visual LISP functions to read databases, you can use Microsoft's ActiveX ADO technology from AutoLISP to do this. The following code illustrates how to read the Customer table from the NorthWind sample database in the Office products using either the Microsoft Access drivers or ODBC. (vl-load-com) (defun INVENTOR DOCUMENT SUB-TYPES by Vladimir Ananyev Issue How to determine the sub-type of Inventor documents? e.g. Whether the document is a sheet metal rather than a regular part document. Solution Document Subtypes are primarily intended to classify geometry as belonging to a CREATING CIVIL 3D TIN SURFACE FROM CONTOURS (POLYLINES By Partha Sarkar. You have a DWG file with contour lines which are actually polylines with elevation values and you want to create a Civil 3D TIN Surface using those Polylines.. Here is a screenshot which shows few Polylines in a DWG file : If want to create a Civil 3D TIN Surface using these Polylines, first you need to create an empty TinSurface by using TinSurface.Create() API and then HOW TO ACCESS AND MODIFY A DYNAMICBLOCKREFERENCE PROPERTY By Philippe Leefsma Q: My DynamicBlock has a "Visibility" property that can have two states. How can I access this property for an instance of this block and modify it? A: Run the following code using the attached drawing. Select the inserted dynamic block CREATING A TIN SURFACE FROM LANDXML FILE By Partha Sarkar. In AutoCAD Civil 3D we can use the LANDXMLIN command and import a LandXML file to create Civil 3D objects like Surface, Alignment, Pipe Network etc. Sometime ago, a Civil 3D application developer asked me about how do I create a Surface from a LandXML file using API ?. Civil 3D has the following COM API to create a Surfacefrom LandXML -
START COMMAND WITH ESCAPE CHARACTERS ^C^C By Adam Nagy I'd like to start some commands from my modeless dialog's buttons. I already found that in case of SendStringToExecute I should use '\x03' characters instead of ^C. My only problem is that in this case if no command is running then I end up with two *Cancel* ACCESSING DATA FROM LINKED FILE USING REVIT API The linked Revit documents will also form a part of this collection. We can then use filters in Revit API to create a collection of Linked Revit documents. Comparing the name of the Linked File with that of the document object in the Documents () collection, we can get access to the required document object of the Linked file we are interested HOW CAN I STORE MY CUSTOM INFORMATION IN A DWG FILE By Marat Mirgaleev. Q: I need to store some information in a dwg file, which would describe this drawing and let to integrate it with another software system.Can I write such custom information into a drawing and read it later? Can it be done without opening the drawing in AutoCAD? A: You may use so called Named Object Dictionary (NOD) to store customdata in a drawing.
AEC DEVBLOG
Home
* Archives
* Subscribe
*
07/28/2019
GET ROLL VALUE OF
By Xiaodong Liang
There is a parameter roll in UI . It means rotating the camera around its front-to-back axis. A positive value rotates the camera counterclockwise, and a negative value rotates itclockwise.
In API perspective, a rotation around world axes (WCS) is configured by Viewpoint.Rotation (Rotation3D) which is in 3D space defined as a quaternion. From quaternion, it can also tell something like roll, yaw, pitch. One post kindly provides the mathematical equations: https://answers.unity.com/questions/416169/finding-pitchrollyaw-from-quaternions.html These are defined in aircraft principal axes. In
Navisworks space, when the up vector is Y+, right vector is X+, and view direction is Z-, the roll can be calculated from quaternion (Viewpoint.Rotation) by the equations above. However, in other cases when the up vector is different, roll in UI means what it indicates: rotating the camera around its front-to-back axis. Unfortunately, I do not find any API which tells roll in UI. While in math, once we know the base up vector, current up vector, we can calculate the roll ourselves. * Viewpoint.WorldUpVector: initial base up vector when user * Viewpoint.GetCamera(): a json string which contains manyinformation such as
* current up vector
* current view direction (reversed vector of forward vector) since view direction will keep the same when setting roll, the roll value will be the angle from current right to the base right (aligned with initial up vector). The code below prints out the roll in aircraft principal axesand the
roll in Navisworks UI. public class cameraInfoClass{
public double UpDirection { get; set; } public double WorldRightDirection { get; set; } public double ViewDirection { get; set; }}
public override int Execute(params string parameters){
//current viewpoint Viewpoint oViewpoint = Autodesk.Navisworks.Api.Application.ActiveDocument.CurrentViewpoint; //current world up vector. The vector defined by user. //Same to UI >> >> UnitVector3D worldUpVec = null; if (oViewpoint.HasWorldUpVector) worldUpVec = oViewpoint.WorldUpVector;else
return 0;
//A rotation in 3D space defined as a quaternion. Rotation3D rotation = oViewpoint.Rotation;//*****
//Aircraft principal axes: X+: right, Y+: up, Z-: view direction // roll: around Z- // pitch: around X+ // yaw: around X+ //from https://answers.unity.com/questions/416169/finding-pitchrollyaw-from-quaternions.html //roll = Mathf.Atan2(2*y*w - 2*x*z, 1 - 2*y*y - 2*z*z); //pitch = Mathf.Atan2(2 * x * w - 2 * y * z, 1 - 2 * x * x - 2 * z * z); //yaw = Mathf.Asin(2 * x * y + 2 * z * w); double aircraft_roll = Math.Atan2((2 * rotation.B * rotation.D) - (2 * rotation.A * rotation.C), 1 - (2 * rotation.B * rotation.B) - (2 * rotation.C * rotation.C)); double aircraft_roll_degree = aircraft_roll * 180 / Math.PI; double aircraft_pitch = Math.Atan2((2 * rotation.A * rotation.D) - (2 * rotation.B * rotation.C), 1 - (2 * rotation.A * rotation.A) - (2 * rotation.C * rotation.C)); double aircraft_pitch_degree = aircraft_pitch * 180 / Math.PI; double aircraft_yaw = Math.Asin((2 * rotation.A * rotation.B) + (2 * rotation.C * rotation.D)); double aircraft_yaw_degree = aircraft_yaw * 180 / Math.PI;//*****
//get camera parameters which contains more data we need to calculate roll of Navisworks UI string cameraStr = oViewpoint.GetCamera(); cameraInfoClass cameraStrJson = JsonConvert.DeserializeObject(cameraStr); //current up vector Vector3D currentUpVec = new Vector3D(cameraStrJson.UpDirection, cameraStrJson.UpDirection, cameraStrJson.UpDirection); Vector3D currentViewDir = new Vector3D(-cameraStrJson.ViewDirection, -cameraStrJson.ViewDirection, -cameraStrJson.ViewDirection); //current right vector Vector3D currentRightVec = currentUpVec.Cross(currentViewDir); //current world right vector is when the viewpoint //is aligned with an intial up vector.Initially, roll of UI is 0 Vector3D currentWorldRightVec = worldUpVec.Cross(currentViewDir); //get roll of UI in degree double UI_roll_degree = currentRightVec.Angle(currentWorldRightVec) * 180 / Math.PI; MessageBox.Show("aircraft_roll:" + aircraft_roll + "\naircraft_pitch:" + aircraft_pitch_degree + "\naircraft_yaw:" + aircraft_yaw_degree + "\nUI roll:" + UI_roll_degree);return 0;
}
Posted at 01:19 AM in .NET , Navisworks , XiaodongLiang | Permalink
| Comments (0)
Reblog (0)
09/30/2018
GET PRIMITIVE FROM SOLID OF NAVISWORKS BY NATIVE COMBy Xiaodong Liang
It has been known by how to Get primitive from solid of Navisworks.
Because there is not native NET API, we will need to take advantage of COM Interop. While COM Interop means managed-native transitions, which will cause lot of the slowness when the model is huge. So geometry extraction should be faster if it is all pure COM code. In another word, some unmanaged COM code could potentially be quicker. So I tried to make some codes. These are two plugins, one is written C++/CLI code (by raw COM), another is NET code (by COM Interop). The stats of some sample Navisworks models and one customer specificmodel.
https://github.com/xiaodongliang/Navisworks-Geometry-PrimitivesMODEL
GEOMETRY NODES COUNTFRAGMENTS COUNT
TIME TO EXTRACT PRIMITIVE (MS)ClashTest.nwd
318
840
NET(334) COM(227)GateHouse.nwd
1354
2386
NET(688) COM(412)One Customer Model
225360
353341
NET(2,186,333) COM(872,978) The projects are built on Visual Studio 2017 (v15.7.5), Navisworks 2018, Win 10 in Windows Parallel of macOS Sierra version 10.12.6 Note: with pure COM project, build it and execute the button in RELEASE mode. This is typical for performance testing. If in debugging mode, it will be extremely slow. Posted at 07:34 AM in .NET ,COM , Navisworks
, Xiaodong Liang
| Permalink
| Comments (3)
Reblog (0)
07/01/2018
PERSISTENT ITEM ID OF NAVISWORKS OBJECTS - UPDATEBy Xiaodong Liang
This is an update on Persistent item ID of Navisworks objects:
What IDs are available depend on the file format you’re loading into Navisworks. Some file formats don’t have any per objects ids, some have ids but they aren’t stable (edit the file in some unrelated way and the ids change). Most of these ids are only unique within a file. Whatever ids are there show up as object properties which are different depending on format – Entity Handle for Autocad, ElementId for Revit, etc.
In addition Navisworks has support for a per object GUID which is a stable, globally unique id for an object: MODELITEM.INSTANCEGUID. GUIDs exist for file formats which directly support GUIDs (e.g. IFC) and for some file formats where we can generate stable, globally unique ids based on the file format specific ids. This includes AutoCAD and Revit but not Catia, PDMS or Integraph. So, for such file formats: you would have to rely on custom properties that the creator of the design file has setup. The below is a demo of IFC file: Posted at 08:17 PM in .NET , Navisworks , XiaodongLiang | Permalink
| Comments (4)
Reblog (0)
04/17/2018
FORGE NEXTGEN WEBINARS! Are you ready to learn about the new technologies that will become available on the FORGE platform? Then you should not miss these webinars :) Date : 26TH APRIL 2018Time : 8.00 AM PST
Duration : 90 minutes Title : THE FUTURE OF MAKING THINGS ON FORGE: SNEAK PEEK AT FORGE NEXTGEN (HFDM & APP FRAMEWORK)Registration
Link: https://attendee.gotowebinar.com/register/8209398405782333955 Presenter: LIOR GERLING, Sr. Product Manager Forge Platform Date : MAY 9TH 2018Time : 8.00 AM PST
Duration : 90 minutes Title : A TECHNICAL INTRODUCTION TO FORGE HIGH FREQUENCY DATA MANAGEMENT (HFDM) SDK AND FORGE APP FRAMEWORKRegistration
Link: https://attendee.gotowebinar.com/register/3624195224359611394 Presenter: KAI SCHROEDER, Engineering Manager, Forge Platform Posted at 10:17 PM in Announcements| Permalink
| Comments (1)
Reblog (0)
03/20/2018
BOSTON FORGE ACCELERATOR The Forge team is accepting proposals for the upcoming Accelerator taking place in the Autodesk Boston office from April 30 - May 4,2018.
It is a great opportunity for your software development team to learn and work intensively on a Forge-based project with one-on-one support and advice from Autodesk Forge API experts. If you have an idea for a new web or mobile application based on Autodesk Forge APIs, or you need help getting an existing application working, then come along to the event. There is no cost to attend the Accelerator other than your own travel and living expenses. However, we do ask that you submit a proposal as part of your application so that we can verify that the intended use of the Autodesk Forge APIs in your project is feasible. Apply and submit your proposal here . For more information, please visit the Forge Accelerator website.
Posted at 11:48 PM in Announcements| Permalink
| Comments (3)
Reblog (0)
10/20/2017
DON’T MISS FORGE DEVCON AT AU 2017 LAS VEGAS Have you registered for Forge DevCon at AU 2017 Las Vegas? If you haven’t and planning to come, here are a few pointers to register. (It may not be obvious how to add DevCon afterward.): * Register to Forge DevCon through the AU registration page.
* Combined ticket includes Forge DevCon – $2,175 * Forge DevCon standalone ticket – $295 (AU is very expensive, isn’t it?) * If you already have a ticket to AU and want to add Forge DevCon. * You can add to the AU full price ticket – $95 * Call customer service at call 888-371-1722 (toll-free in the United States) or 415-446-7717. * Or send an email to customer service autodeskuniversity@autodeskevents.com. They will add for you. For more detail about what Forge DevCon is about, please take a lookat this post
.
If you are interested in finding out list of AEC focused Forge classes, please take a look at my another post.
Posted at 11:53 PM in Announcements| Permalink
| Comments (0)
Reblog (0)
10/03/2017
ADN TEAM IS HIRING DEVTECH ENGINEER (C++,NET) IN BANGALORE By Virupaksha Aithal ADN team is hiring an DevTech engineer (C++, .NET) - based in Bangalore office. Main responsibility is to work directly with third party developers to help them solve their problems using AutoCAD or Inventor or Revit API. REQUIREMENT: Strong programming experience (C++/.NET). Knowledge of developing applications for AutoCAD or Revit or Inventor. LOCATION: Bangalore, India If interested, send your resumes to Virupaksha Aithal Posted at 01:44 AM in Announcements| Permalink
| Comments (0)
Reblog (0)
08/02/2017
AUTODESK APP STORE BIM 360 HACKATHON We are excited to announce the Autodesk® App Store BIM 360 Hackathon – a virtual web based event. This hackathon is a great way to quickly climb the BIM 360+Forge API integration learning curve with Autodesk engineers close at hand (virtually). Now is a great time to get started working on integration with BIM 360 – with the new ability to create your own folders in BIM 360 using Forge just enabled in the last week. You can now quickly and easily build a “presence” for your company and apps data within BIM 360. During the hackathon introduction webinar on August 15th, we’ll be talking about what you can do right now to integrate withBIM 360.
The Autodesk® App Store BIM 360 Hackathon consists of two segments: * A series of web training sessions related to the Autodesk Forge platform and BIM 360 - open to anyone interested in learning aboutthese APIs.
* An online hackathon where developers can develop new apps that integrate with BIM 360 for submission to Autodesk App Store. This is an online hackathon so you can participate from anywhere in the world on your own schedule. There’s no cost to participate—but there is a reward! You may find yourself quickly building an app that works with BIM 360—and if you submit it to the App Store by September 30 and it is accepted for publication by October 31 you will receive $500 for one eligible app per entrant. Another reason to work on BIM 360 integration sooner rather than later is that we’ll be launching a BIM 360 app “Showcase” on www.autodesk.com plus a BIM 360 app storefront in the Autodesk App Store in the next few weeks. Both offer a great way to get maximum exposure for your business with Autodesk BIM 360 customers (when there are just a few dozen apps so you don’t risk getting lost in the crowd later when there arehundreds of apps).
You may attend the educational webinars without publishing an app.Click here
for Webinar only
registration or get full details and register for the Hackathon at https://bim360hackathon.devpost.com/. If you register for the Hackathon you be will automatically registered for the webinars. Webinar's will be recorded so that you can view them at yourconvenience.
Visit the pages on the Hackathon website to learn more about the opportunities, resources and publishing in the Autodesk App Store and if you have questions send us an email. Posted at 02:32 AM in Announcements| Permalink
| Comments (1)
Reblog (0)
06/16/2017
REVIT SDK SAMPLE’S ASSEMBLY REFERENCE UPDATERBy Madhukar Moogala
While I was learning Revit API through SDK samples, I see there is a huge Samples folder with about 180 project files. I thought it will be good idea to quickly update the references of each project to correct Revit install folder. There is an executable which does this and is included in SDK samples folder, for some reason it is not working for me. I created a simple python script, which creates an .User object file having Projects references directed to Revit path. #This simple app creates .user file corresponding to every .csproj | .vbproj ##With following text # ##
import os,shutil
import xml.etree.ElementTree as ET revitSampleDir = input("Revit SDK Samples Folder, for E.g \"D:\Revit2018\Samples\" :")#"D:\\Revit 2018 SDK\\Samples" userFile = revitSampleDir+"\\user.txt"#"D:\\Revit 2018 SDK\\Samples\\user.txt" revitInstallDir = input("Revit Install Folder :")#"D:\\Program Files\\Autodesk\\Revit 2018\\" project = ET.Element("Project",ToolsVersion="14.0",xmlns="http://schemas.microsoft.com/developer/msbuild/2003") propertyGroup = ET.SubElement(project,"PropertyGroup") referencePath = ET.SubElement(propertyGroup,"ReferencePath").text = revitInstallDir tree = ET.ElementTree(project) tree.write(userFile, encoding='utf-8',xml_declaration=True,method= 'xml') for root, dirs, files in os.walk(revitSampleDir): for filename in files: if filename.endswith(('.csproj', '.vbproj')): shutil.copy(userFile,os.path.join(root,filename +".user")) print(os.path.join(root,filename +".user")) Posted at 01:10 AM | Permalink| Comments (0)
Reblog (0)
06/06/2017
BIM 360 WEBINAR - JUNE 15, 2017 - GROW YOUR BUSINESS BY INTEGRATING YOUR APPS WITH BIM 360 By Virupaksha Aithal Learn how to grow your business by integrating your apps and services with BIM 360 - join our upcoming BIM 360 webinar - June 15, 2017 * Is BIM important to you and your customers? * Want to learn about the opportunity to grow your business and gain competitive advantage by building integrations with Autodesk’s fast growing product (revenue and users) – BIM 360®? * Want to get first mover advantage by integrating with BIM 360 now? * Want to reach the 100k+ (and growing fast) design and construction cloud innovators using BIM 360 right now? If yes, join us for a one hour webinar on June 15, 2017 where we walk you through the opportunity to integrate your apps and services withBIM 360 including:
* Business growth opportunity working closely with Autodesk * Integration options * A few simple code sample demonstrations * How to get started Over the next several months, Autodesk is investing heavily in promoting partners that have apps that integrate with BIM 360 – on bim360.autodesk.com , in a new BIM 360 store front in the Autodesk App Store, at the Forge DevCon, and during Autodesk University. Attend this webinar and learn from Jim Quanci, Senior Director, Software Partner Development at Autodesk, how you can engage with us today to build a powerful valuable BIM 360 integration, create competitive advantage – and leverage Autodesk’s marketing and sales machine around BIM 360. Please register for “Integrate your apps and services with BIM 360” on June 15, 2017 8:00 AM PDT at: https://attendee.gotowebinar.com/register/2561148892546524162 After registering, you will receive a confirmation email containing information about joining the webinar. Posted at 09:52 PM in Announcements| Permalink
| Comments (0)
Reblog (0)
Next »
SEARCH
Submit
AEC DEVBLOGGERS
* Aaron Lu
* Jaime Rosales
* Adam Nagy
* Augusto Goncalves
* Gopinath Taget
* Jeremy Tammik
* Madhukar Moogala
* Mikako Harada
* Xiaodong Liang
JULY 2019
SUN
MON
TUE
WED
THU
FRI
SAT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
AUTODESK BLOGS
* ADN DevBlog - AEC
Our DevBlog for Revit, Navisworks, AEC and BIM technology APIs. * ADN DevBlog - AutoCAD Our DevBlog for AutoCAD and other platform technology APIs. * Forge Developer Blog Our DevBlog for Cloud and Mobile technologies with a strong emphasis on the Autodesk Forge APIs. * ADN DevBlog - Infrastructure Modeling Our DevBlog for Infrastructure Modeling technology APIs. * ADN DevBlog - Manufacturing Our DevBlog for Design, Lifecycle and Simulation technologies.* Around the Corner
Cyrille Fauvel's Maya platform developer blog - Autodesk Media and Entertainment technology. * Civilized Development Isaac Rodriguez's AutoCAD Civil 3D developer blog * Dances with Elephants Jim Quanci's blog on partnering with large companies. * It's All Just Ones and Zeros Doug Redmond's Vault developer blog* Mod the Machine
Brian Ekins' and Adam Nagy's Inventor developer blog* The 360 View
Mikako Harada's BIM 360 developer blog* The 3D Web Coder
Jeremy Tammik's web and mobile programming blog * The Building Coder Jeremy Tammik's Revit developer blog * Through the Interface Kean Walmsley's AutoCAD developer blog * Yet more on autodesk.com ... Central blog list on autodesk.comSHARE
*
RECENT POSTS
* Get Roll value of
* Get primitive from solid of Navisworks by Native COM * Persistent item ID of Navisworks objects - Update * Forge NextGen webinars! * Boston Forge Accelerator * Don’t Miss Forge DevCon at AU 2017 Las Vegas * ADN team is hiring DevTech engineer (C++,NET) in Bangalore * Autodesk App Store BIM 360 Hackathon * Revit SDK Samples Assembly Reference Updater * BIM 360 Webinar - June 15, 2017 - Grow Your Business By Integrating Your Apps with BIM 360ARCHIVES
* July 2019
* September 2018
* July 2018
* April 2018
* March 2018
* October 2017
* August 2017
* June 2017
* March 2017
* July 2016
More...
* AEC DevBlog
Details
Copyright © 2024 ArchiveBay.com. All rights reserved. Terms of Use | Privacy Policy | DMCA | 2021 | Feedback | Advertising | RSS 2.0