Import/Export IFC - compiling IfcOpenShell/pl: Difference between revisions

From FreeCAD Documentation
(Created page with "5. Po zlokalizowaniu miejsca, w którym chcesz / musisz go zainstalować, przejdź tam za pomocą przeglądarki plików ''(Finder w OSX)''. To znaczy, przejdź do folderu {{FileName|/site-packages/}} : {{incode|cd site-packages/}}.")
(Created page with "12.4 Test końcowy, import {{FileName|house.ifc}} do nowego pliku, więc otwórz nowy plik i zaimportuj go ... to trochę potrwa.")
 
(12 intermediate revisions by the same user not shown)
Line 43: Line 43:
: {{incode|cd site-packages/}}.
: {{incode|cd site-packages/}}.


6. Open a new file browser window and navigate to your downloaded GitHub project: '''/IfcOpenShell/src/ifcopenshell-python/''' and copy the full '''/ifcopenshell/''' folder
6. Otwórz nowe okno przeglądarki plików i przejdź do pobranego projektu GitHub: '''/IfcOpenShell/src/ifcopenshell-python/''' i skopiuj cały folder '''/ifcopenshell/'''.


7. Paste it inside '''/site-packages/''' folder. Now you should have something like:
7. Wklej go do folderu '''/site-packages/'''. Teraz powinieneś mieć coś takiego:
{{Code|code=
{{Code|code=
/site-packages/ifcopenshell/__init__.py
/site-packages/ifcopenshell/__init__.py
Line 57: Line 57:
}}
}}


8. Now we have to pick to files inside the /build/ folder, they are:
8. Teraz musimy wybrać dwa pliki wewnątrz folderu /build/, to:
{{Code|code=
{{Code|code=
_ifcopenshell_wrapper.so
_ifcopenshell_wrapper.so
ifcopenshell_wrapper.py
ifcopenshell_wrapper.py
}}
}}
ale ponieważ skompilowaliśmy wszystko, będziesz musiał wybrać ten, który pasuje do twojej wersji Python FreeCAD. Sprawdź to łatwo czytając pierwszą linię w widoku [[Python_console/pl|konsoli Python]] FreeCAD. W moim przypadku był to Python 2.7.11.
but as we have compiled everything you will have to pick the one that matches with your FreeCAD Python version. Check it easily reading the first line inside your FreeCAD [[Python console]] view. In my case it was Python 2.7.11.


9. Teraz skopiujmy pliki do miejsca odpowiadającego wersji Python. W moim przypadku było to:
9. Now go let's copy the files inside the place it corresponds to your Python version. In my case it was:
{{Code|code=
{{Code|code=
/IfcOpenShell/build/Darwin/x86_64/build/ifcopenshell/[b]python-2.7[/b].10/ifcwrap/
/IfcOpenShell/build/Darwin/x86_64/build/ifcopenshell/[b]python-2.7[/b].10/ifcwrap/
}}
}}


10. Paste them inside {{FileName|/site-packages/ifcopenshell/}}
10. Wklej je wewnątrz {{FileName|/site-packages/ifcopenshell/}}


11. Sprawdź, czy wszystko jest na swoim miejscu:
11. Check everything is in place:
{{Code|code=
{{Code|code=
/site-packages/ifcopenshell/__init__.py (1)
/site-packages/ifcopenshell/__init__.py (1)
Line 85: Line 85:
}}
}}


(1) from GitHub project <br />
''(1)'' z projektu GitHub <br>
(2) from /build/ folder
''(2)'' z folderu /build/




12. Close and reopen FreeCAD
12. Zamknij i ponownie otwórz program FreeCAD.


== Testing ==
==Testowanie==
Po zainstalowaniu sprawdźmy, czy wszystko działa zgodnie z oczekiwaniami:
Now that it is installed, let's check if everything works as expected:


12.1 in the Python console write:
12.1 w konsoli Python:
{{Code|code=
{{Code|code=
import ifcopenshell
import ifcopenshell
from ifcopenshell import geom
from ifcopenshell import geom
}}
}}
jeśli nie wyrzuci żadnego błędu, oznacza to, że może być poprawnie zainstalowany.
if it doesn't throw any error it means it may be correctly installed


12.2 Go to [[Manual:BIM_modeling|Yorik's FreeCAD manual]], navigate to the lower part of the page and download the following files to test:
12.2 Przejdź do [[Manual:BIM_modeling/pl|poradnika FreeCAD użytkownika Yorik]], nawigacji do dolnej części strony i pobierz następujące pliki do przetestowania:
{{Code|code=
{{Code|code=
house.FCStd
house.FCStd
Line 107: Line 107:
}}
}}


12.3 Open {{FileName|house.FCStd}}, select the root "Building" object and export it ({{MenuCommand|FileExport}}) setting the File type to "Industry Foundation Classes (*.ifc)". Press {{Button|Save}} and if it works and it doesn't throw an error in the [[Report view]] then it's working.
12.3 Otwórz {{FileName|house.FCStd}}, wybierz główny obiekt "Building" i wyeksportuj go ({{MenuCommand|PlikEksport}}) ustawiając typ pliku na "Industry Foundation Classes (*.ifc)". Naciśnij {{Button|Zapisz}} i jeśli to zadziała i nie wyrzuci błędu w oknie [[Report_view/pl|Widoku raportu]], to znaczy, że działa.


12.4 Final test, import {{FileName|house.ifc}} into a new file so open a new file and import that file... it will take a while.
12.4 Test końcowy, import {{FileName|house.ifc}} do nowego pliku, więc otwórz nowy plik i zaimportuj go ... to trochę potrwa.


13. Ciesz się BIM dzięki FreeCAD!
13. Ciesz się BIM dzięki FreeCAD!

Latest revision as of 13:52, 4 November 2023

Ćwiczenie
Temat
środowisko pracy Architektura
Poziom trudności
zaawansowany
Czas wykonania
120 minut
Autorzy
Pablo Gil
Wersja FreeCAD
0.19.x
Pliki z przykładami
brak
Zobacz również
-

Wprowadzenie

To było tak trudne dochodzenie, jak uzyskać działającą kopię IfcOpenShell-python na OSX/macOS w celu importowania/eksportowania plików IFC, że dzielę się tym poradnikiem na wypadek, gdyby pomógł większej liczbie osób. Mój system to OSX 10.11.6, 64bity z środowiskiem Python 2.7.11, może to zadziałać, jeśli masz również OSX, ponieważ często są one 64-bitowe, ale mogą się różnić od mojego. Procedura może być bardzo podobna, jeśli używasz Linuksa lub Windowsa, ale prawdopodobnie ma pewne różnice.

Wymagania

Kroki

1. Pobierz lub sklonuj pełny projekt GitHub pod adresem https://github.com/IfcOpenShell/IfcOpenShell (zawsze będzie to najnowsza wersja)

git clone https://github.com/IfcOpenShell/IfcOpenShell

2. Z terminala przejdź do folderu /nix/ i uruchom skrypt. W systemie OSX jest on wykonywany za pomocą:

cd nix/
./build-all.sh

Kompilacja zajmie od 30 do 120 minut. Nie jest to najmądrzejszy sposób kompilacji IfcOpenShell, ale ten prosty skrypt skompiluje wszystkie zależności, wersje Python itp.

3. Po zakończeniu (nie pamiętam teraz, ale zostanie wypisane coś w stylu "Built IfcOpenShell..." i powróci do monitu) będziesz miał nowy folder /IfcOpenShell/build/ pełen plików i folderów. Z mojego osobistego doświadczenia wynika, że dwa tygodnie temu skrypt nix "build-all.sh" nie zakończył się pomyślnie, ale po wypróbowaniu go wczoraj z najnowszymi aktualizacjami działał dobrze, więc przypuszczam, że możesz doświadczyć czegoś podobnego w przypadku dalszego rozwoju... Więc teraz masz wszystko, czego potrzebujesz, ale musisz wykonać trochę samodzielnej pracy, aby to zadziałało:

4. Otwórz FreeCAD i otwórz okna konsola Python i Widok raportu. Następnie wpisz w konsoli Python następujące polecenie:

import sys
print sys.path

Otrzymasz długą linię ze wszystkimi ścieżkami, które odczytuje FreeCAD. Możesz być w stanie zainstalować IfcOpenShell w dowolnej z nich, ale sugeruję umieszczenie go w takiej, w której znajdziesz /site-packages/ po /Python/ lub /python-something/. W moim przypadku był to /Library/Python/2.7/site-packages. (Uwaga: znajdziesz ścieżki wewnątrz katalogu aplikacji, ale sugeruję ich nie używać, ponieważ wtedy IfcOpenShell będzie dostępny tylko dla tej aplikacji).

5. Po zlokalizowaniu miejsca, w którym chcesz / musisz go zainstalować, przejdź tam za pomocą przeglądarki plików (Finder w OSX). To znaczy, przejdź do folderu /site-packages/

cd site-packages/.

6. Otwórz nowe okno przeglądarki plików i przejdź do pobranego projektu GitHub: /IfcOpenShell/src/ifcopenshell-python/ i skopiuj cały folder /ifcopenshell/.

7. Wklej go do folderu /site-packages/. Teraz powinieneś mieć coś takiego:

/site-packages/ifcopenshell/__init__.py
/site-packages/ifcopenshell/entity_instance.py
/site-packages/ifcopenshell/file.py
/site-packages/ifcopenshell/geom/app.py
/site-packages/ifcopenshell/geom/main.py
/site-packages/ifcopenshell/geom/occ_utils.py
/site-packages/ifcopenshell/geom/__init__.py
/site-packages/ifcopenshell/guid.py

8. Teraz musimy wybrać dwa pliki wewnątrz folderu /build/, są to:

_ifcopenshell_wrapper.so
ifcopenshell_wrapper.py

ale ponieważ skompilowaliśmy wszystko, będziesz musiał wybrać ten, który pasuje do twojej wersji Python FreeCAD. Sprawdź to łatwo czytając pierwszą linię w widoku konsoli Python FreeCAD. W moim przypadku był to Python 2.7.11.

9. Teraz skopiujmy pliki do miejsca odpowiadającego wersji Python. W moim przypadku było to:

/IfcOpenShell/build/Darwin/x86_64/build/ifcopenshell/[b]python-2.7[/b].10/ifcwrap/

10. Wklej je wewnątrz /site-packages/ifcopenshell/

11. Sprawdź, czy wszystko jest na swoim miejscu:

/site-packages/ifcopenshell/__init__.py                  (1)
/site-packages/ifcopenshell/entity_instance.py           (1)
/site-packages/ifcopenshell/_ifcopenshell_wrapper.so     (2)
/site-packages/ifcopenshell/file.py                      (1)
/site-packages/ifcopenshell/geom/__init__.py             (1)
/site-packages/ifcopenshell/geom/app.py                  (1)
/site-packages/ifcopenshell/geom/main.py                 (1)
/site-packages/ifcopenshell/geom/occ_utils.py            (1)
/site-packages/ifcopenshell/guid.py                      (1)
/site-packages/ifcopenshell/ifcopenshell_wrapper.py      (2)

(1) z projektu GitHub
(2) z folderu /build/


12. Zamknij i ponownie otwórz program FreeCAD.

Testowanie

Po zainstalowaniu sprawdźmy, czy wszystko działa zgodnie z oczekiwaniami:

12.1 w konsoli Python:

import ifcopenshell
from ifcopenshell import geom

jeśli nie wyrzuci żadnego błędu, oznacza to, że może być poprawnie zainstalowany.

12.2 Przejdź do poradnika FreeCAD użytkownika Yorik, nawigacji do dolnej części strony i pobierz następujące pliki do przetestowania:

house.FCStd
house.ifc

12.3 Otwórz house.FCStd, wybierz główny obiekt "Building" i wyeksportuj go (Plik → Eksport) ustawiając typ pliku na "Industry Foundation Classes (*.ifc)". Naciśnij Zapisz i jeśli to zadziała i nie wyrzuci błędu w oknie Widoku raportu, to znaczy, że działa.

12.4 Test końcowy, import house.ifc do nowego pliku, więc otwórz nowy plik i zaimportuj go ... to trochę potrwa.

13. Ciesz się BIM dzięki FreeCAD!

Przemyślenia końcowe

Moim zdaniem sam FreeCAD powinien mieć prekompilowane wersje IfcOpenShell dołączone do dystrybucji, ponieważ samodzielne budowanie go jest totalnym bólem i przeciętny użytkownik tego nie zrobi (nie wie, jak kompilować, zarządzać GitHubem itp.), ale cóż, może w przyszłości.

Mam nadzieję, że to ci pomoże.

Dzięki.

Odnośniki internetowe