Archipack 1.3.8 - 18.04.2018

Hi,

Archipack is a set of parametric architectural objects.

Archipack official website

Current official version 1.2.8 available in blender 2.79 addons

Current unofficial version 1.3.8 (18.04.2018)
download lastest from github

The future of archipack for blender 2.8

Archipack will split in 2 versions, lite and pro.
Lite version remains free and hopefully will be part of official blender addons.
Pro version will be commercial and you may pre-buy now on gumroad.
Pre-Buy upcoming archipack 2.0 for blender 2.8 now

Public code Repo:

Issue tracker:

Wiki and user guide:
Documentation for archipack 1.3.5+Documentation for archipack 1.2.8+

Kitchen cabinets

Advanced parametric arch objects with full support for linked objects, material index and uvs ready.
Window
Door
Wall
Stair I stair, L stair, U stair, O stair, and full user defined.
Fence
Floor
Truss
Roof
Blind
Kitchen
Dimensions

On screen manipulators for main objects parameters
Automatic booleans

2d to 3d, only available in archipack unofficial 1.2.7+

2d drawing in blender is missing good tools to cleanup imported files. Here they are !

What does it do ?

Detect polygons from unordered splines (spaghettis) like in architectural 2d drawings within a single click.
Fix precision issues by snapping and filling small gaps between lines typically encountred when importing dxf.
Once detected, you are able to pick polygons / curves with a select tool and extract clean curves from your selection, create objects like walls, windows doors and surfaces.

Why ?

Cleaning dxf files or redrawing walls in worst cases is often a painfull task. This script does automagically fix most issues encountred in imported cad drawings, eg: not well formed lines, and allow you to simply select needed polygons to get a clean curve of polygons boundarys.

5 Likes

Thank you. I will take at look of this today. I badly need an add-on to make 2D CAD drawings in Blender.

Hi, i just discovered this thread after your response to Archimesh. You should really consider better presentation of your efforts. Some illustrations or even a usage video or gif. Anyway, the features you are working on seem really interesting and could be developed into a great blender addition. Especially for architects and archvis artists.

A couple of remarks:

  1. The naming is a little bit confusing, that could be the one of the causes of the low response. Archipack / parametric / polygons


  2. Upon activating Archipack, the following error occurs:

Program_files/BLENDER/blender-2.75a-linux-glibc211-x86_64/2.75/scripts/addons_contrib/blenderPolygons-master/archipack_wall2.py",  line 172
    return v = self.c-p
             ^
SyntaxError: invalid syntax

I was able to surpass this by moving the equation from the return line to a line above and returning only v.

  1. Although it seems you are moving in a good direction, the user interaction could be worked on further. The GL markers lag behind the orbiting of the view and it is hard to reactivate them although they are displayed. Maybe you could consult some GL addons around this forum, including the NP Station i made. In particular NP Point Scale for GL graphics. The Archipack interface is also dispersed in a lot of places, maybe it can be organised with a little bit more discipline.

Other than that, great initiative, i had some ideas in that direction also. Congrats!

Whoa, how did I miss this one? Really useful addon :slight_smile:

The usefull thing. Thanks

Hi,

I have tested windows and doors, and they are incredible awesome!!!
Stairs and walls, i know they say alpha stage, but both give me an error once i try to make them.
Keep it going! it look great.

Cheers,

Hi,
Thank you for your feedback, i allready fixed this error on source.
I try to let operators and objects where they should logically be, as the new policy is to limit new tabs at the maximum.
I know the (N) panel to modify objects is a bit unusual, like in archimesh.
The gl part for manipulators still need massive improvements, will take a look at NP Station as i’m planning to use 2d drawing like lines with arrows as ui, so editing will be a bit more logical at least for arch people.
Github account is setup to allow anyone interrested in dev / help / report issues to contribute to make this one your dream.

As a side note, i’ve spend many time to model a strong oOp structure, to support linked objects, copy parameters to selected objects and may be used as basis for any parametric objects developpement project.

@ stephen_leger

Thanks you for Addon.

I don’t have 2D polygons like this link: https://github.com/s-leger/blenderPolygons/wiki/Usage


@serviteur

Unfortunately shapely is required for 2d polygons detection to work.

stephen_leger

Unfortunately shapely is required for 2d polygons detection to work.

https://github.com/s-leger/blenderPolygons/wiki/Setup

How to install shapely for Linux?

pip install shapely

I install shapely on Xubuntu 16.04.1.1 amd64, I don’t see it under view3d -> Tools -> Polygons
(same post #8)

Link: https://pypi.python.org/pypi/Shapely

STEPS:

sudo apt install python-pip
serviteur @ HP-EliteBook-8760w  ~
└─ $ ▶ sudo apt install python-pip
[sudo] Mot de passe de serviteur : 
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'Ă©tat... Fait
The following additional packages will be installed:
  libpython-all-dev libpython-dev libpython2.7-dev python-all python-all-dev
  python-dev python-pip-whl python-setuptools python-wheel python2.7-dev
Paquets suggérés :
  python-setuptools-doc
Les NOUVEAUX paquets suivants seront installés :
  libpython-all-dev libpython-dev libpython2.7-dev python-all python-all-dev
  python-dev python-pip python-pip-whl python-setuptools python-wheel
  python2.7-dev
0 mis à jour, 11 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 29,6 Mo dans les archives.
AprÚs cette opération, 43,8 Mo d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] o
RĂ©ception de:1 http://cm.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libpython2.7-dev amd64 2.7.12-1ubuntu0~16.04.1 [27,8 MB]
RĂ©ception de:2 http://cm.archive.ubuntu.com/ubuntu xenial/main amd64 libpython-dev amd64 2.7.11-1 [7 728 B]
RĂ©ception de:3 http://cm.archive.ubuntu.com/ubuntu xenial/main amd64 libpython-all-dev amd64 2.7.11-1 [992 B]
RĂ©ception de:4 http://cm.archive.ubuntu.com/ubuntu xenial/main amd64 python-all amd64 2.7.11-1 [978 B]
RĂ©ception de:5 http://cm.archive.ubuntu.com/ubuntu xenial-updates/main amd64 python2.7-dev amd64 2.7.12-1ubuntu0~16.04.1 [276 kB]
RĂ©ception de:6 http://cm.archive.ubuntu.com/ubuntu xenial/main amd64 python-dev amd64 2.7.11-1 [1 160 B]
RĂ©ception de:7 http://cm.archive.ubuntu.com/ubuntu xenial/main amd64 python-all-dev amd64 2.7.11-1 [1 000 B]
RĂ©ception de:8 http://cm.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 python-pip-whl all 8.1.1-2ubuntu0.4 [1 110 kB]
RĂ©ception de:9 http://cm.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 python-pip all 8.1.1-2ubuntu0.4 [144 kB]
RĂ©ception de:10 http://cm.archive.ubuntu.com/ubuntu xenial/main amd64 python-setuptools all 20.7.0-1 [169 kB]
RĂ©ception de:11 http://cm.archive.ubuntu.com/ubuntu xenial/universe amd64 python-wheel all 0.29.0-1 [48,0 kB]
29,6 Mo réceptionnés en 1min 30s (328 ko/s)                                    
Sélection du paquet libpython2.7-dev:amd64 précédemment désélectionné.
(Lecture de la base de données... 306512 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../libpython2.7-dev_2.7.12-1ubuntu0~16.04.1_amd64.deb ...
DĂ©paquetage de libpython2.7-dev:amd64 (2.7.12-1ubuntu0~16.04.1) ...
Sélection du paquet libpython-dev:amd64 précédemment désélectionné.
Préparation du dépaquetage de .../libpython-dev_2.7.11-1_amd64.deb ...
DĂ©paquetage de libpython-dev:amd64 (2.7.11-1) ...
Sélection du paquet libpython-all-dev:amd64 précédemment désélectionné.
Préparation du dépaquetage de .../libpython-all-dev_2.7.11-1_amd64.deb ...
DĂ©paquetage de libpython-all-dev:amd64 (2.7.11-1) ...
Sélection du paquet python-all précédemment désélectionné.
Préparation du dépaquetage de .../python-all_2.7.11-1_amd64.deb ...
DĂ©paquetage de python-all (2.7.11-1) ...
Sélection du paquet python2.7-dev précédemment désélectionné.
Préparation du dépaquetage de .../python2.7-dev_2.7.12-1ubuntu0~16.04.1_amd64.deb ...
DĂ©paquetage de python2.7-dev (2.7.12-1ubuntu0~16.04.1) ...
Sélection du paquet python-dev précédemment désélectionné.
Préparation du dépaquetage de .../python-dev_2.7.11-1_amd64.deb ...
DĂ©paquetage de python-dev (2.7.11-1) ...
Sélection du paquet python-all-dev précédemment désélectionné.
Préparation du dépaquetage de .../python-all-dev_2.7.11-1_amd64.deb ...
DĂ©paquetage de python-all-dev (2.7.11-1) ...
Sélection du paquet python-pip-whl précédemment désélectionné.
Préparation du dépaquetage de .../python-pip-whl_8.1.1-2ubuntu0.4_all.deb ...
DĂ©paquetage de python-pip-whl (8.1.1-2ubuntu0.4) ...
Sélection du paquet python-pip précédemment désélectionné.
Préparation du dépaquetage de .../python-pip_8.1.1-2ubuntu0.4_all.deb ...
DĂ©paquetage de python-pip (8.1.1-2ubuntu0.4) ...
Sélection du paquet python-setuptools précédemment désélectionné.
Préparation du dépaquetage de .../python-setuptools_20.7.0-1_all.deb ...
DĂ©paquetage de python-setuptools (20.7.0-1) ...
Sélection du paquet python-wheel précédemment désélectionné.
Préparation du dépaquetage de .../python-wheel_0.29.0-1_all.deb ...
DĂ©paquetage de python-wheel (0.29.0-1) ...
Traitement des actions différées (« triggers ») pour man-db (2.7.5-1) ...
Paramétrage de libpython2.7-dev:amd64 (2.7.12-1ubuntu0~16.04.1) ...
Paramétrage de libpython-dev:amd64 (2.7.11-1) ...
Paramétrage de libpython-all-dev:amd64 (2.7.11-1) ...
Paramétrage de python-all (2.7.11-1) ...
Paramétrage de python2.7-dev (2.7.12-1ubuntu0~16.04.1) ...
Paramétrage de python-dev (2.7.11-1) ...
Paramétrage de python-all-dev (2.7.11-1) ...
Paramétrage de python-pip-whl (8.1.1-2ubuntu0.4) ...
Paramétrage de python-pip (8.1.1-2ubuntu0.4) ...
Paramétrage de python-setuptools (20.7.0-1) ...
Paramétrage de python-wheel (0.29.0-1) ...
serviteur @ HP-EliteBook-8760w  ~
└─ $ ▶

2-

sudo apt-get install libgeos-dev

serviteur @ HP-EliteBook-8760w  ~
└─ $ ▶ sudo apt-get install libgeos-dev
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'Ă©tat... Fait
The following additional packages will be installed:
  libgeos-3.5.0 libgeos-c1v5
Paquets suggérés :
  libgdal-doc
Les NOUVEAUX paquets suivants seront installés :
  libgeos-3.5.0 libgeos-c1v5 libgeos-dev
0 mis à jour, 3 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 596 ko dans les archives.
AprÚs cette opération, 2 724 ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] o
RĂ©ception de:1 http://cm.archive.ubuntu.com/ubuntu xenial/universe amd64 libgeos-3.5.0 amd64 3.5.0-1ubuntu2 [477 kB]
RĂ©ception de:2 http://cm.archive.ubuntu.com/ubuntu xenial/universe amd64 libgeos-c1v5 amd64 3.5.0-1ubuntu2 [52,4 kB]
RĂ©ception de:3 http://cm.archive.ubuntu.com/ubuntu xenial/universe amd64 libgeos-dev amd64 3.5.0-1ubuntu2 [66,5 kB]
596 ko réceptionnés en 4s (120 ko/s)
Sélection du paquet libgeos-3.5.0 précédemment désélectionné.
(Lecture de la base de données... 306901 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../libgeos-3.5.0_3.5.0-1ubuntu2_amd64.deb ...
DĂ©paquetage de libgeos-3.5.0 (3.5.0-1ubuntu2) ...
Sélection du paquet libgeos-c1v5 précédemment désélectionné.
Préparation du dépaquetage de .../libgeos-c1v5_3.5.0-1ubuntu2_amd64.deb ...
DĂ©paquetage de libgeos-c1v5 (3.5.0-1ubuntu2) ...
Sélection du paquet libgeos-dev précédemment désélectionné.
Préparation du dépaquetage de .../libgeos-dev_3.5.0-1ubuntu2_amd64.deb ...
DĂ©paquetage de libgeos-dev (3.5.0-1ubuntu2) ...
Traitement des actions différées (« triggers ») pour libc-bin (2.23-0ubuntu7) ...
/sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 is not a symbolic link


/sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 is not a symbolic link


Traitement des actions différées (« triggers ») pour man-db (2.7.5-1) ...
Paramétrage de libgeos-3.5.0 (3.5.0-1ubuntu2) ...
Paramétrage de libgeos-c1v5 (3.5.0-1ubuntu2) ...
Paramétrage de libgeos-dev (3.5.0-1ubuntu2) ...
Traitement des actions différées (« triggers ») pour libc-bin (2.23-0ubuntu7) ...
/sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 is not a symbolic link


/sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 is not a symbolic link


serviteur @ HP-EliteBook-8760w  ~
└─ $ ▶

3 -

pip install shapely
serviteur @ HP-EliteBook-8760w  ~└─ $ ▶ pip install shapely
Collecting shapely
  Downloading Shapely-1.5.17.post1-cp27-cp27mu-manylinux1_x86_64.whl (8.3MB)
    100% |████████████████████████████████| 8.3MB 81kB/s 
Installing collected packages: shapely
Successfully installed shapely
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
serviteur @ HP-EliteBook-8760w  ~
└─ $ ▶ 

4-

GEOS_CONFIG=/path/to/geos-config pip install shapely
serviteur @ HP-EliteBook-8760w  ~└─ $ ▶ GEOS_CONFIG=/path/to/geos-config pip install shapely
Collecting shapely
  Using cached Shapely-1.5.17.post1-cp27-cp27mu-manylinux1_x86_64.whl
Installing collected packages: shapely
Successfully installed shapely-1.5.17.post1
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
serviteur @ HP-EliteBook-8760w  ~
└─ $ ▶ 

You are using Python 2.7? I think you need to install Shapely for Python 3.5.2 and change symlinks to force Blender to use that version of Python. Personally I changed the bundled Python that comes with Blender with the system Blender (on MacOS) using the tutorials from here:
Automate Blender with Python (I got this course to a discounted price some time ago).

and after installing Shapely for Python 3.5.2 on my system it was recognised by Blender.

P.S. You will need to install first pip for Python 3.5.2 and after that launch that version of pip and from there install shapely.

Under ubuntu (tested with 16.10) Blender 2.77-2.78 should use the python 3.5 built on the system.

So:

1 ensure you have pip for python 3.x

sudo apt-get install python3-pip

2 setup shapely

/usr/lib/python3.5 -m pip install shapely

Updated setup instructions according.

Please also do note that the panel remains hidden until you select one or many curves.

I install python3-pip but I don’t have 2D polygons.

sudo apt-get install python3-pip

serviteur @ HP-EliteBook-8760w  ~
└─ $ ▶ sudo apt-get install python3-pip
[sudo] Mot de passe de serviteur : 
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'Ă©tat... Fait
The following additional packages will be installed:
  libpython3-dev python3-dev python3-setuptools python3-wheel
Paquets suggérés :
  python-setuptools-doc
Les NOUVEAUX paquets suivants seront installés :
  libpython3-dev python3-dev python3-pip python3-setuptools python3-wheel
0 mis à jour, 5 nouvellement installés, 0 à enlever et 3 non mis à jour.
Il est nécessaire de prendre 253 ko dans les archives.
AprÚs cette opération, 1 281 ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] o
RĂ©ception de:1 http://cm.archive.ubuntu.com/ubuntu xenial/main amd64 libpython3-dev amd64 3.5.1-3 [6 926 B]
RĂ©ception de:2 http://cm.archive.ubuntu.com/ubuntu xenial/main amd64 python3-dev amd64 3.5.1-3 [1 186 B]
RĂ©ception de:3 http://cm.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 python3-pip all 8.1.1-2ubuntu0.4 [109 kB]
RĂ©ception de:4 http://cm.archive.ubuntu.com/ubuntu xenial/main amd64 python3-setuptools all 20.7.0-1 [88,0 kB]
RĂ©ception de:5 http://cm.archive.ubuntu.com/ubuntu xenial/universe amd64 python3-wheel all 0.29.0-1 [48,1 kB]
253 ko réceptionnés en 17s (14,9 ko/s)                                         
Sélection du paquet libpython3-dev:amd64 précédemment désélectionné.
(Lecture de la base de données... 306927 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../libpython3-dev_3.5.1-3_amd64.deb ...
DĂ©paquetage de libpython3-dev:amd64 (3.5.1-3) ...
Sélection du paquet python3-dev précédemment désélectionné.
Préparation du dépaquetage de .../python3-dev_3.5.1-3_amd64.deb ...
DĂ©paquetage de python3-dev (3.5.1-3) ...
Sélection du paquet python3-pip précédemment désélectionné.
Préparation du dépaquetage de .../python3-pip_8.1.1-2ubuntu0.4_all.deb ...
DĂ©paquetage de python3-pip (8.1.1-2ubuntu0.4) ...
Sélection du paquet python3-setuptools précédemment désélectionné.
Préparation du dépaquetage de .../python3-setuptools_20.7.0-1_all.deb ...
DĂ©paquetage de python3-setuptools (20.7.0-1) ...
Sélection du paquet python3-wheel précédemment désélectionné.
Préparation du dépaquetage de .../python3-wheel_0.29.0-1_all.deb ...
DĂ©paquetage de python3-wheel (0.29.0-1) ...
Traitement des actions différées (« triggers ») pour man-db (2.7.5-1) ...
Paramétrage de libpython3-dev:amd64 (3.5.1-3) ...
Paramétrage de python3-dev (3.5.1-3) ...
Paramétrage de python3-pip (8.1.1-2ubuntu0.4) ...
Paramétrage de python3-setuptools (20.7.0-1) ...
Paramétrage de python3-wheel (0.29.0-1) ...
serviteur @ HP-EliteBook-8760w  ~
└─ $ ▶ 




/usr/lib/python3.5 -m pip install shapely

serviteur @ HP-EliteBook-8760w  ~
└─ $ ▶ /usr/lib/python3.5 -m pip install shapely
bash: /usr/lib/python3.5 : est un dossier
serviteur @ HP-EliteBook-8760w  ~
└─ $ ▶

Hi thank you for reporting !

into your python-3.5 directory there should be a python or python3.5 executable.

So in your case, the command is:

/usr/lib/python3.5/python -m pip install shapely

Also don’t forget do download the last addon version from repo,
there is some important bugfix done on 2d polygon part.

/usr/lib/python3.5/python -m pip install shapely

serviteur @ HP-EliteBook-8760w ~
└─ $ :arrow_forward: /usr/lib/python3.5/python -m pip install shapely
bash: /usr/lib/python3.5/python: Aucun fichier ou dossier de ce type
serviteur @ HP-EliteBook-8760w ~
└─ $ :arrow_forward:

Aucun fichier ou dossier de ce type = No such file or folder type

I download and install the last version to 1.1.2, No change.

In this article Shapely as a Python module for Blender it is stated that “Shapely_Linux (manual libgeos installation required)”

@stephen_leger Very impressed with the latest changes.

Also I seen on GitHub that you are working for a separate module to bring Parametric Objects in Blender?