How C# .Net Application could communicate Navisworks

How C# .Net Application could communicate Navisworks

HusseinOthman75
Enthusiast Enthusiast
1,740 Views
6 Replies
Message 1 of 7

How C# .Net Application could communicate Navisworks

HusseinOthman75
Enthusiast
Enthusiast

Hi,

I have C# .Net application contains data for Commissioning of Process Plant (i.e. Piping, Equipment, Instrumentation, ... etc) and i need this Application to communicate NWD model opened in Navisworks for example when i select certain equipment in the Application i can see it selected in Navisworks, and exchange data with the model is this possible? if the answer is yes, How?

0 Likes
1,741 Views
6 Replies
Replies (6)
Message 2 of 7

Anonymous
Not applicable
Does your Commissioning App have an API? If so you could look at embedding a Navisworks ActiveX control into it...
Conversely you could create a dockpane plugin in Navisworks that displays data from your App.
0 Likes
Message 3 of 7

Anonymous
Not applicable

Thank you for your reply.Because i'm new to .net API for Navisworks i need a sample application for each approach, knowing that i have .net API for navisworks integerated in my application and i prefer to trigger commands that affects Navisworks from my Application.

0 Likes
Message 4 of 7

xiaodong_liang
Autodesk Support
Autodesk Support
Hi HusseinOthman19,

although your requirements are feasible with API to me, I do not think there is an existing code that demos all of the steps. It will be more useful to get an answer on forum if you have any specific question (with the code you have played). It is hard for the developers to share a code because actually this is a kind of project.

I'd recommend you to get started with Navisworks API from this wecast:
http://download.autodesk.com/media/adn/Navisworks_2011_API_Webcast-Sept2010.zip

and search the materials with relevant keywords such as:
- current selection
- get properties
- search API
0 Likes
Message 5 of 7

Anonymous
Not applicable

Thank you for your valuable help esp. that your forum is the only source of help concerning Navisworks development. i had two approaches in mind to communicate Navisworks model and manipulate it programtically 1) to connect nwd model opend in Navisworks then manipulating such model (for example clicking a Reactor name in my application to see it selected in Navisworks model) but i couldn't find any guide or sample application to implement this approach  2) Second approach is to include "ViewControl" in my application using  Autodesk.Navisworks.Api as per WPFViewer included with Navisworks SDK and i managed to implement my target by selecting a system in the plant and by clicking a button i can see it selected ViewControl but the problem is when i tried to include the zoom, Pan, orbit, ... functions like Navigation Wheel toolbar in Navisworks with the help with code from your forum they were very rudimentary and it was very difficult to Orbit, Pan, ....etc.

Consequently and due to our dependence on your very valuable and helpful  forum kindly we need to your help either to get more elaborate code so we can integerate zooming, panning, orbiting, walking, .. functionality to the ViewControl like that of navigating wheel, or guide us to the other approach : to connect model opened in Navisworks and send it message form my Application.

Appreciate your help

0 Likes
Message 6 of 7

Anonymous
Not applicable

Hi HusseinOthoman19,

As Xiaodong metionned, we can't really write the code for you. You will have to post some code that is not working and that the community can help you get it right.

If it was me, I would go for loading the Comissioning Data in Navisworks rather than the other way around. Just because I'd anticipate having less code to write to interact with data in 3D (ODBC connection, Searches, Selection API etc.) than recreating Navisworks navigation in the Commissioning App, especially with the limited functionality of the API on the Navisworks Control.

Nic

Message 7 of 7

Anonymous
Not applicable

Appreciate your help. One last question : how to use my .Net Application to send and receive data to Navisworks??  

0 Likes