Making a new filter using SimplNx

35 views
Skip to first unread message

vahi...@gmail.com

unread,
Oct 21, 2025, 11:52:26 AMOct 21
to dream3d-users
Hi,
I am trying to create a Python-based pipeline using SimplNX. I successfully created a Python script for "(08) Small IN100 Full Reconstruction.d3dpipeline." Then, I tried adding two filters available in the previous version: "Insert Atom" and "Export LAMMPS Data File" as new filters. However, it keeps failing. I have attached
the "Insert Atom" filter that I created. It is located right before the final filter, 'Write DREAM3D NX File,' in '(08) Small IN100 Full Reconstruction.d3dpipeline.' Could you please help me make this filter functional?

Best,
Vahid
InsertAtom.py

Jared Duffey

unread,
Oct 29, 2025, 2:45:17 PMOct 29
to vahi...@gmail.com, dream3d-users
Sorry for the delayed response. Could you send the python version and DREAM3DNX package version you are using? As well as the full error message you are getting.

--
You received this message because you are subscribed to the Google Groups "dream3d-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dream3d-user...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/dream3d-users/0446d34e-58dd-4d4a-8f72-98e1c9cda6d1n%40googlegroups.com.

vahi...@gmail.com

unread,
Oct 29, 2025, 3:52:27 PMOct 29
to dream3d-users
Hi,
Thanks a lot for your reply. I'm still not sure, but I think the method I used to integrate new filters into DREAM3DNX was incorrect. I tried adding my filters based on the architecture below into the SimplNX source file, which I cloned a week ago from https://github.com/BlueQuartzSoftware/SimplNX.

simplnx\src\Plugins\AtomisticPlugin

            src

            Resources

            CMakeLists.txt


            simplnx\src\Plugins\AtomisticPlugin\Filters

InsertAtomsNX.cpp

InsertAtomsNX.hpp

LammpsFileWriterNX.cpp

LammpsFileWriterNX.hpp

PhaseJsonLoader.cpp

PhaseJsonLoader.hpp

 

simplnx\src\Plugins\AtomisticPlugin\src\AtomisticPlugin

AtomisticPluginPlugin.cpp

AtomisticPluginPlugin.hpp

AtomisticPlugin_filter_registration.hpp


Then, I followed the documentation to build from source. It was successful, and I could finally build and install it using "ninja install." However, the issue is that my new plugins won't appear in my SimplNX build directory, whether in the wrapping/python/CMakeFiles folder or the python/generated folder.
However, they are visible in the Plugins directory.
I think they could not have been built successfully. I have attached the CMakeLists.txt file, and the CMake command that I used is below:

cmake -G Ninja \

  -DCMAKE_TOOLCHAIN_FILE="$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake" \

  -DCMAKE_BUILD_TYPE=Release \

  -DVCPKG_TARGET_TRIPLET=x64-linux-dynamic \

  -DVCPKG_HOST_TRIPLET=x64-linux-dynamic \

  -DVCPKG_MANIFEST_FEATURES="python" \

  -DSIMPLNX_BUILD_PYTHON=ON \

  -DPython_EXECUTABLE="$PYTHON_EXECUTABLE_PATH" \

  -DSIMPLNX_PY_DISABLE_HIDDEN_VISIBILITY=ON \

  -DSIMPLNX_BUILD_TESTS=OFF \

  -DDREAM3D_DATA_DIR="$DREAM3D_DATA_DIR" \

  -DSIMPLNX_BUILD_ATOMISTIC_PLUGIN=ON \

  $WORKSPACE_ROOT/simplnx



Is this the proper method for integrating the new filters and calling them later in the SimplNX Python script, among the other filters? Could you please help me figure out where the issue is?


Best,
Vahid
CMakeLists.txt

Michael Jackson

unread,
Oct 29, 2025, 5:49:23 PMOct 29
to vahi...@gmail.com, dream3d-users
Dear Vahid,
   I would start here:


Technically you do not need a license to just use SIMPLNX and NOT DREAM3D-NX. So if all you are doing is writing a python filter and running a python script, this is probably the more straight forward method. Note, that any filter we talk about running in the tutorial is runnable from a pure python script.
--
Mike Jackson                    mike.j...@bluequartz.net
BlueQuartz Software         www.bluequartz.net
President/Owner               Dayton, Ohio
Principal DREAM.3D Developer


Reply all
Reply to author
Forward
0 new messages