Author: Xiaodong Liang

  • Trusted Signature and Revit 2017 API Resources

    Here is a bunch of long overdue news items to round off this hot week – Trusted add-in signature – Revit 2017 API news summary – ADN training labs for Revit 2017 – ADN Xtra labs Revit 2017 migration – We had an extensive discussion on the topic of equipping each Revit add-in with a…

  • Fusion API: Toggle [Capture Design History]

    <?xml encoding=”UTF-8″>By Xiaodong Liang There are two primary ways to work in the “Model” environment; parametrically, which focuses on the relationships between features, or directly, which deals only with selected model faces. The main difference is that “Direct Modeling” functions by manipulating faces without regard for previously established relationships. There are quite a lot of…

  • Delete Objects with Fusion 360 API

    <?xml encoding=”UTF-8″>By Xiaodong Liang All objects that can be deleted support the the deleteMe method. The usage is  very straightforward. Get the object and call deleteMe. I found a forum post that one customer failed to delete the object which is within the generic object collection. http://forums.autodesk.com/t5/api-and-scripts/how-do-i-delete-a-sketch-curve-line-arc-etc/m-p/6394526#U6394526 but, it looks working well at my side.…

  • Overlapped Areas of Mated Bodies in Assembly

    <?xml encoding=”UTF-8″>By Xiaodong Liang Question:I have as assembly with 2 plate parts, they are constrained to each other face to face by mate constraint. How to get their overlapped area and boundary. Solution:From API help: TransientBRep.ImprintBodies finds regions of faces on two bodies which overlap and creates new bodies where the faces are split at…

  • Configure Options of SaveAs DWG of Part or Assembly

    <?xml encoding=”UTF-8″>By Xiaodong Liang Question: When we export document to DWG, the options are provided with an *,ini file. It works well with the DrawingDocument. While when saving as part/assembly file to DWG, there are some other options. But it looks *.ini file does not work with Part or Assembly. How can we configure them?…

  • Get Closest Point on DrawingCurve

    <?xml encoding=”UTF-8″>By Xiaodong Liang   A customer wanted to get the closest point on a drawing curve when the user clicks a location on the sheet. The workflow is simple: start mouse event, watch MouseEvent.OnMouseClick. In the event, calculate the closest point on the curve.  However, it looks API only provides GetClosestPoint method for Edge and…

  • Fusion API: Change Appearance of Body

    <?xml encoding=”UTF-8″>By Xiaodong Liang Various objects in Fusion 360 can be applied with material and appearance. Appearance is how the object looks like. While Material is the physical property of an object. It has a default appearance. e.g. an object with “Leather, weathered” would look like this. However we can override its appearance with other…

  • Medical Analysis of Fusion 360

    By Xiaodong Liang The Simulation workspace of Fusion 360 now has Medical Analysis functionality in the Studies selection panel. The first version of Medical Study allows analysis of muscle dynamics, skeleton structure, vessel pressure. This is mainly to research the artificial organ whether it is fit for an individual. The typical workflow is: scan the…

  • Fusion 360 and Forge at SaloneDelMobile.Milano

    As part of the SaloneDelMobile.Milano event which is on between 12-17 April, we'll organize a meetup in our Milano office on 15th April. Paul Sohi (@fuseps) will do a Fusion 360 workshop and I'll talk about its API and the Forge platform, including the View and Data API.  You can sign up here: http://www.meetup.com/I-love3Dmilano/events/229310354/ If you're in…

  • Fusion API: Create ConstructionPlane from Plane in Parametric Modeling

    <?xml encoding=”UTF-8″>By Xiaodong Liang The following code is a snippet of my add-in, Basically, it will create a ConstructionPlane based on a Plane. However, it failed at sketch = sketches.add(cons_plane).After debugging, I found constructionPlanes.add returns nothing, that is why sketches.add failed. import adsk.core, adsk.fusion, traceback def run(context): ui = None try: app = adsk.core.Application.get() ui…