Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

addin for Navisworks #39

Open
wants to merge 14 commits into
base: dev
Choose a base branch
from
Open

addin for Navisworks #39

wants to merge 14 commits into from

Conversation

maks2199
Copy link

@maks2199 maks2199 commented Apr 5, 2024

We developed openproject pluggin for Navisworks and added some changes to Revit (global coordinates) and Shared project for it to work
Ubr3ltoBrd

@maks2199
Copy link
Author

maks2199 commented Sep 5, 2024

@Kharonus, hi! What do you think about this PR?

@Kharonus
Copy link
Member

Kharonus commented Sep 5, 2024

Ahoi @maks2199 ,

thanks a lot for your work and effort. I already heard of the PR, making Navisworks available within the code of the revit addin.

To be honest, I have the issue, that currently no resources are available for taking up the work, that is needed by us from here. I wasn't working on this code for more then a year. So, it is currently unlikely, that I can take this up.

But I have of course some initial thoughts, maybe it already helps making the issue more visible, maybe even more pressing for OpenProject:

The first idea is the scope. This repo is called revit-add-in, as it was written explicitly for revit. Navisworks is another tool from autodesk. So, in general I'd like to make it clear, that the repository eventually will cover more CAD add-ins. Then, we would need a better code structure, with more common code extracted to shared libs, while keeping the specific code for revit and navisworks separated.

The other thought I have, is your current use case. Have you this commit running in your day-to-day business? Are you working with Navisworks? Are you continuing to improve it currently? (Small fixes, adding more use cases?)

Best regards

@maks2199
Copy link
Author

maks2199 commented Sep 5, 2024

@Kharonus, thanks for the reply!

Yeah, you are absolutely right about covering more CAD add-ins. This plugin works as a link for different CAD software — that is its great advantage! It helps to communicate engineers from different disciplines that use different software.
That is also cool that this plugin connects different proprietary software via opensource BCF format.

Our company is working with Navisworks plugin on day-to-day basis as Navisworks is our connection point for other software. We also use Revit plugin for communication wit Revit disciplines. We have created more then 1k ISSUE cards with BCF points during this year (see the screenshot).

We are also continuously improving plugin, fixing small issues, adding specific functionality (such as keycloack auth, for example). Development of Tekla plugin is in progress. We see great prospects for this project, because it can connect any software in the future (e.c. Blender BIM would be a good case too).

It seems that this issue is not mooving and we have no feedback from OpenProject after PR publication. So, if you have any advice and thoughts on how we can contribute to this project we would love to cooperate.

You can write me at [email protected], we can also arrange a call if you like.

Best regards,
Maks, software developer.

image

@maks2199
Copy link
Author

maks2199 commented Sep 5, 2024

image

@wielinde
Copy link
Member

wielinde commented Sep 5, 2024

Hey @maks2199, it is great to see you picking up the work on the Revit Add-in.

If I can be so honest: The reason why I didn't follow up on this PR is that it still has very little information on what it does and what you expect from us.

What are the things that it does? I picked up the following motivations:

  • It tries to update the existing plugin to a recent Revit-Version. That alone would make a very nice PR.
  • It adds support for Navisworks. That is also worth a separate PR or maybe even repo?
  • It extracts logic that both, the Revit and the Navisworks add-in share. That again is probably an own PR.
  • Something about "global coordinates" that is not explained anywhere obvious (motivation, problem, solution).

However, that is just my assumption of quickly looking into the code. I would appreciate if you could cut that huge PR into smaller chunks that are reviewable by us. This one here is far too big in my opinion. So please consider our end: We need to know that the software will work before we release it to the wild. So please provide us with information on what it does.

As @Kharonus already mentioned, we do not have the development capacity to finish your work. However, we could to some extend, review it once it is cut into smaller, more controllable chunks/PRs.

Also, it would be great to have some background knowledge with whom we are dealing here. You are writing in "we". Who are you and what is the driver behind all these efforts? That transparency will help aligning interests a lot.

One last word on integrating with other software: We tried to make OpenProject's BCF module work within in-app browsers, so that it can be integrated into further applications eventually. However, I am pretty sure that a Tekla integration is pretty much a different thing than the Autodesk plugins Revit and Navisworks. I am pretty sure they need independent releases, installers, docs, ... So, let's please keep those things independent.

We are currently also working on integrating OpenProject even deeper with OIDC provivders like Keycloak. What is it that you are trying to solve on that field? Maybe here we can also join efforts?

So, bottom line: we need smaller and better described chunks so that we can actually start working. "Throwing code over the fence" will not work, unfortunately. I guess you understand that. And I am happy to help you to get your great work into that form, scope and shape.

@maks2199
Copy link
Author

maks2199 commented Sep 6, 2024

Hello, @wielinde!

Thanks for your reply!
Sorry, if it looked like "Throwing code over the fence", it happened that way because I don’t have much experience in contributing to the open source community projects, and I didn’t know whether our work is relevant at all. I am ready to finish the work, but I need your comments on the requirements for contributing.

By “we” I mean our BIM department of design organization. We specialize in the design of industrial facilities. Our BIM department have two software engineers (one of them is me) who worked on that project.

Tekla is a bit different, you are right. Unlike Revit and Navisworks, Tekla doesn’t require to lunch its plugins in the context of application. So, the browser part of OpenProject's BCF plugin can connect to the opened instance of Tekla at any time, not only on the start. By and large, this is the only difference for our case. In our todays work in progress Tekla plugin, the shared and browser parts of plugin are the same as for the Revit and Navisworks.
The issue with Keycloak that I faced was that we connected our OpenProject instance to the Keycloack authorization, after that I needed to add Keycloack redirect url to the BCF plugin’s white list.

Yeah, you got it right about motivations. I tried to split all the work to the several commits, as you see above. But maybe I should do it in another way?
So, as I understand from your reply, I should create several PR for each commit and changes I made and describe in these PRs the motivation, maybe as User Stories?
About the Navisworks repo, Navis plugin uses the same shared, browser, build, projects as Revit, so it's more convenient to keep them in one repo but in different src/projects as Kharonus mentioned.
If Navisworks plugin would be in the same repo, should it be spitted into several PRs?

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants