All Projects → nathaneltitane → l2cu

nathaneltitane / l2cu

Licence: other
L²CU: LDraw Linux Command line Utility

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to l2cu

AWESOME-LDraw
LDraw — awesome software, file format, parts library and model repository (3D models of LEGO® and LEGO-compatible bricks)
Stars: ✭ 30 (+114.29%)
Mutual labels:  lego, parts, ldraw
blender-xray
STALKER (aka xray-engine) import/export plugin for Blender 3D
Stars: ✭ 132 (+842.86%)
Mutual labels:  export, blender, import
Xnalaramesh
Blender addon Import/Export XPS Models, Poses
Stars: ✭ 262 (+1771.43%)
Mutual labels:  export, blender, import
FSDevTools
Project to support developer experience (DX) with FirstSpirit template development by offering a connection between a VCS like Git and FirstSpirit.
Stars: ✭ 29 (+107.14%)
Mutual labels:  export, import
connect-backup
A tool to backup and restore AWS Connect, with some useful other utilities too
Stars: ✭ 19 (+35.71%)
Mutual labels:  export, import
format-imports-vscode
Format imports and exports for JavaScript and TypeScript in VS Code.
Stars: ✭ 60 (+328.57%)
Mutual labels:  export, import
cassandra-exporter
Simple Tool to Export / Import Cassandra Tables into JSON
Stars: ✭ 44 (+214.29%)
Mutual labels:  export, import
DataDefinitions
Data Definitions Plugin for Pimcore
Stars: ✭ 70 (+400%)
Mutual labels:  export, import
sync-magento-2-migration
Release of rough proof of concept from 2018 that allows to import and export millions of products quickly
Stars: ✭ 51 (+264.29%)
Mutual labels:  export, import
ProcessMigrator
ProcessWire module that facilitates automated migration and sharing of page trees along with their templates and fields.
Stars: ✭ 29 (+107.14%)
Mutual labels:  export, import
great-migration
Copy objects from Rackspace to S3
Stars: ✭ 15 (+7.14%)
Mutual labels:  export, import
blender-terrain
Terrain import is now a part of the blender-osm addon. Get it for free at https://gumroad.com/l/blender-osm
Stars: ✭ 28 (+100%)
Mutual labels:  blender, import
craft3-blockonomicon
Manage matrix fields on a per-block basis. Bundle presentation with blocks. Render entire matrices with a single line.
Stars: ✭ 32 (+128.57%)
Mutual labels:  export, import
ldview
Real-time 3D viewer for displaying LDraw models
Stars: ✭ 65 (+364.29%)
Mutual labels:  lego, ldraw
excel mysql
Module for import Excel files to MySQL table and export MySQL table to Excel file using PHPExcel
Stars: ✭ 30 (+114.29%)
Mutual labels:  export, import
importer-exporter
3D City Database client for high-performance import and export of 3D city model data
Stars: ✭ 104 (+642.86%)
Mutual labels:  export, import
DuBLF DuBlast
Quick Playblast tool for Blender
Stars: ✭ 18 (+28.57%)
Mutual labels:  blender, render
VF-BlenderAutoSaveRender
Automatically saves a numbered or dated image after every render and can extend the Blender output path with dynamic variables
Stars: ✭ 34 (+142.86%)
Mutual labels:  blender, render
open2fa
Two-factor authentication app with import/export for iOS and macOS. All codes encrypted with AES 256. FaceID & TouchID support included. Written with love in SwiftUI ❤️
Stars: ✭ 24 (+71.43%)
Mutual labels:  export, import
skinner
Skin export / import tools for Autodesk Maya
Stars: ✭ 68 (+385.71%)
Mutual labels:  export, import

l2cu

Donate

[ L²CU // Project Page ] [ Version // 01-21-2022 ]

Welcome to L²CU - The LDraw Linux Command line Utility!

L²CU stems from a set of independant scripts that were written over the last few years to respond to an obvious need for an efficient management of LDraw model files in several ways: bulk editing of LDraw model files.

Most older and even more modern editors miss that mark to provide such features and that is where L²CU tries to fill the gap in a simple, user-friendly way.

What can it do?

L²CU supports the standard 'single-part' model file extension (ldr) and the multipart data, or model assembly file extension (mpd).

In short, with L²CU you can:

  • render your models
  • export your models (to various 3D standard formats)
  • modify your models (color, part or part with a specific color)
  • format your models in bulk (meta tags, steps, linting, etc.)
  • download and unpack the LDraw parts library
  • create the legacy 'parts.lst' file

You can also tweak or rework the utility's functions to match your preferences.

How does it work?

LDraw model files (ldr, mpd and even dat) are plain text files, thus making them stream edit friendly:

L²CU is a shell script (BASH) that parses and modifies the text in the model file to get the job done. It is optimized for portability and uses a very minimal set of dependencies to get the job done.

What does it need?

On startup, L²CU verifies the presence of necessary dependencies before proceeding and pocessing the user's change request(s).

You will need:

Common utilities either already set up on your Linux-based system or that you can easily install using your distribution's package manager:

  • curl
  • sed
  • zip
  • unzip

The 'render' and 'export' features depend on the following. Install them before processing:

  • LeoCAD - Leonardo Zide's LDraw model editor

  • Blender - The free and open source 3D creation suite

render

The render function generates preset, high defintion renders, of the selected LDraw model files or projects (using LeoCAD to process the renders).

The user can choose from set defaults or specify the latitude and longitude parameters of the camera, as well as a file saving suffix to register the coordinates as a viewing angle string to the file name:

Defaults (as arrays):

latitude=( 30 30 30 30 )

longitude=( 225 45 180 0 )

view=( "quarter-back" "quarter-front" "back" "front" )

You can refer to the LeoCAD help manual to get you started on setting up your editing and rendering preferences.

export

This function serves as a 3D standard file exporter. It can generate (with the use of Leocad and/or Blender) the following formats:

  • 3ds
  • wavefront (as obj and mtl within a zip archive)
  • blender compatible and optimized 3D files

The model exports can be used for showcase purposes, displaying them online in personal or commercial galleries (uses WebGL: ThreeJS)

Examples:

modify

Here is where the batch editing happens: this feature is extremely helpful when processing massive model updates and color or part adjustments that would normally be done manually through an editor.

The script uses stream editing to find and replace the desired elements, using the LDraw file specification syntax as reference.

The user can modify any ldr or mpd file in one of four ways:

  • modify any specific color for another (color option)
  • modify any specific part for another (part option)
  • modify the color of a specific part to any other color for that same part (bind option)
  • modify or eliminate unwanted or extraneous meta tags
  • strip special characters from model and submodel assemblies
  • condense the model or project file by removing unneded blank or extraneous lines that could otherwise corrupt the file

get

The 'get' function lets you download and extract the LDraw parts library. This is especially useful for quick updates or if you're getting started.

You can:

  • download the LDraw parts library using the -complete | -update | -unofficlal parameters.
  • download the 'complete' official LDraw parts library archive
  • download the 'update' officialLDraw parts library archive
  • download the complete 'unofficial' LDraw parts library archive

'make-list'

The 'make-list' option was the initial project that inadvertantly started L²CU over 6 years ago.

This (now) function was built as a need to replace the 'mklist.exe' utility that is found and packaged with the base LDraw parts library. It serves the exact same purpose, which is to parse and generate an updated list of all the parts located under the main 'LDraw' directory (within ./LDraw/parts).

The user can create a list that sorts the parts in that directory either by part [n]umber or by part [d]escription.

This utility comes in handy with the use of editors or other LDraw related application that do not have the ability to generate their own parts index or that rely on the oldtext based index (parts.lst) to load parts into the editor (i.e.: MLCAD, which can be run using Wine when using Linux-based distributions).

Modern editors now generate a cached dynamic index or database on application launch and do not require this list generator anymore.

To find examples that make use of L²CU, or to simply browse my models, you can visit my Blog which is hosted at GitHub as well.


Links

  • LDraw - The open standard for LEGO CAD
  • LeoCAD - A CAD program for creating virtual LEGO models
  • Blender - The free and open source 3D creation suite
  • ThreeJS - JavaScript 3D library
  • LegoLinux - Where Lego meets Linux
  • Sketchfab - Publish & find 3D models online
  • MLCAD - Mike's Lego CAD
  • Wine - Windows compatibility layer for POSIX-compliant operating systems

Submit bug report or feature request

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].