IfcOpenShell / IfcOpenShell

Open source IFC library and geometry engine
GNU Lesser General Public License v3.0
1.72k stars 692 forks source link

Is it possible for ifccityjson to be an exe file? #4706

Open Pdongjaelee opened 1 month ago

Pdongjaelee commented 1 month ago

I need to make ifc into cityjson.

https://github.com/IfcOpenBot/IfcOpenShell/commit/0d3c73de822d1b11ebc31e21d3b946e2df15d30b#commitcomment-139858841

Can I make it into an exe file like this?

Moult commented 1 month ago

IfcCityJson does the opposite, it takes CityJSON and converts it to IFC, not the other way around.

And yes, you can turn that into an exe using pyinstaller. This is currently a very low priority but PRs are appreciated :)

Pdongjaelee commented 1 month ago

image

Can I prune ifccityjson here?

Moult commented 1 month ago

I'm sorry, I don't understand your question?

Pdongjaelee commented 1 month ago

If you post PRs, won't ifcopenbot create an exe like in the link?

Moult commented 1 month ago

IfcOpenBot currently only builds the C++ core. It does not package anything else (e.g. pip builds, bbim builds). So no, it won't create an exe for you. You can either create it yourself using pyinstaller, or add a github workflow so that it can be automatically created for others.

Pdongjaelee commented 1 month ago

In fact, I have inquired before. My goal is to only need to convert ifc to cityjson. However, out of the 5 files I tried, only 2 were successful. I used ifcconvert for that. I am worried because the 3 ifc files are not converted to cityjson with ifcconvert.

Is there a good way?

Moult commented 1 month ago

This has been answered many times before in multiple channels. Is there still something which is unclear?

On Mon, May 20, 2024 at 09:12:29PM -0700, dongjae wrote:

In fact, I have inquired before. My goal is to only need to convert ifc to cityjson. However, out of the 5 files I tried, only 2 were successful. I used ifcconvert for that. I am worried because the 3 ifc files are not converted to cityjson with ifcconvert.

Is there a good way?

— Reply to this email directly, [1]view it on GitHub, or [2]unsubscribe. You are receiving this because you commented. Message ID: @.***>

References

  1. https://github.com/IfcOpenShell/IfcOpenShell/issues/4706#issuecomment-2121703149
  2. https://github.com/notifications/unsubscribe-auth/AAAVR3XOLLXFFU6C3YRDZCDZDLCS3AVCNFSM6AAAAABIAUH2JOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRRG4YDGMJUHE
Pdongjaelee commented 1 month ago

Yes, it hasn't been resolved yet. If I give you the files, can you tell me a good way to do it?

Moult commented 1 month ago

It's not resolved because:

  1. There is no general solution right now for a computed simplification of complex geometry.
  2. There is no "just serialise it" option in the regular IfcConvert, which will probably not give you what you want anyway.
  3. Anything more practical probably requires scripting effort on your end, we can't do it for you. If you'd like to help hire a developer or provide funding, perhaps we can help consult though.
  4. There seems to be a constant confusion between Ifc -> City and City -> IFC, it's not clear exactly what you want or how you want the geometry to end up looking like.

On Mon, May 20, 2024 at 09:23:02PM -0700, dongjae wrote:

Yes, it hasn't been resolved yet. If I give you the files, can you tell me a good way to do it?

— Reply to this email directly, [1]view it on GitHub, or [2]unsubscribe. You are receiving this because you commented. Message ID: @.***>

References

  1. https://github.com/IfcOpenShell/IfcOpenShell/issues/4706#issuecomment-2121711701
  2. https://github.com/notifications/unsubscribe-auth/AAAVR3TS74G4H34FUBW7OMLZDLD2NAVCNFSM6AAAAABIAUH2JOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRRG4YTCNZQGE
Pdongjaelee commented 1 month ago
  1. There is no general solution right now for a computed simplification of complex geometry. -> So, ifc with complex geometry cannot be converted?

  2. Anything more practical probably requires scripting effort on your end, we can't do it for you. If you'd like to help hire a developer or provide funding, perhaps we can help consult though. -> Could it be possible to solve this problem if you provide funds? I am desperate.

  3. There seems to be a constant confusion between Ifc -> City and City -> IFC, it's not clear exactly what you want or how you want the geometry to end up looking like. -> Ifc -> cityjson -> citygml I want to go like this. Two of the five files were converted to final citygml using this method. The problem is that the remaining three files failed. Ifc -> cityjson This part failed.

Moult commented 1 month ago
  1. It can be converted, but maybe not with a one-size-fits-all clever algorithm. Maybe a dumber algorithm, heuristics, or multiple options selected by the user based on the project.
  2. We don't immediately have spare resources on our end, but if you have a developer who knows C++ and/or Python, they can help (either in writing the CityJSON serialisation, or doing the Pyinstaller side, etc). You'll also need to fund that developer's time.
  3. You'll also need graphics to understand what is considered appropriate cityjson. For example, do you really want your cityjson to contain geometry of doorknobs?

On Mon, May 20, 2024 at 09:33:30PM -0700, dongjae wrote:

1. There is no general solution right now for a computed
   simplification of complex geometry.
   -> So, ifc with complex geometry cannot be converted?
2. Anything more practical probably requires scripting effort on your
   end, we can't do it for you. If you'd like to help hire a developer
   or provide funding, perhaps we can help consult though.
   -> Could it be possible to solve this problem if you provide funds?
   I am desperate.
3. There seems to be a constant confusion between Ifc -> City and City
   -> IFC, it's not clear exactly what you want or how you want the
   geometry to end up looking like.
   -> Ifc -> cityjson -> citygml I want to go like this.
   Two of the five files were converted to final citygml using this
   method.
   The problem is that the remaining three files failed.
   Ifc -> cityjson This part failed.

— Reply to this email directly, [1]view it on GitHub, or [2]unsubscribe. You are receiving this because you commented. Message ID: @.***>

References

  1. https://github.com/IfcOpenShell/IfcOpenShell/issues/4706#issuecomment-2121720585
  2. https://github.com/notifications/unsubscribe-auth/AAAVR3T5AVIUMZTWB5GU6CDZDLFBVAVCNFSM6AAAAABIAUH2JOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRRG4ZDANJYGU
Pdongjaelee commented 1 month ago
  1. It can be converted, but maybe not with a one-size-fits-all clever algorithm. Maybe a dumber algorithm, heuristics, or multiple options selected by the user based on the project.

-> Oh, so you’re saying that complex forms are not possible with ifcconvert 0.8.0, which I currently use? If I give you a file that needs to be converted, can you check if conversion is possible?

  1. We don't immediately have spare resources on our end, but if you have a developer who knows C++ and/or Python, they can help (either in writing the CityJSON serialisation, or doing the Pyinstaller side, etc). You'll also need to fund that developer's time.

->Does this help refer to helping me write an exe or code that will successfully convert the files I have? If so, I am willing to pay the funds.

  1. You'll also need graphics to understand what is considered appropriate cityjson. For example, do you really want your cityjson to contain geometry of doorknobs?

-> Are you referring to the graphics in the file that failed to be converted?