Git Product home page Git Product logo

bricksmithapp's Introduction

screenshot

Bricksmith

This repository contains my personal fork of Allen Smith's superb Bricksmith application. Bricksmith is a fantastic and productive tool for building LEGO models on macOS based on the popular LDraw CAD model format. It has a long pedigree, but was almost abandoned a few years ago; however, it was generously open-sourced. Updates to Bricksmith to keep up with changes to macOS SDKs have been a patchy community effort. However, since early 2021 efforts by bsupnik and the original author have made it possible to build Bricksmith on modern versions of XCode to run on recent versions of macOS, including 10.14 (Mojave), 10.15 (Catalina), 11.x (Big Sur). The most up-to-date and supported Bricksmith repo can be found here: bsupnik / bricksmith

I was desperate to continue using Bricksmith since I had become so productive using it. Furthermore, Bricksmith's internal LDraw model renderer has exceptionally good performance, even with massive LDraw models. I was anxious to make the switch to Bricklink Stud.io and therefore forked the Bricksmith repo a few years ago and made changes myself to keep up with evolving macOS SDK changes, in particular deprecation of support for OpenGL. Since then, it has grown into a more customized (janky!) version to suit my particular preferences and features.

I have rolled in some changes from the main repo; however, I have deviated too much from the original code to contribute with PRs without major merging headaches. In any case, I have created this repo for my own sanity and in case anyone is interested in tinkering.

Customizations

Some (but not all) of my changes/customizations include:

  • support for dark mode theme
  • axis lines from origin in all viewers
  • different LDraw syntax highlights in model tree view (with differentiation of submodels vs. parts)
  • different style for parts browser
  • menu command to insert step at current step (rather than append to the end)
  • navigating the tree view in step mode also changes the current step
  • almost all math computation converted to double precision floating point
  • favorite colour list added to colour picker inspector with a button to mark favorite colours

References

  • LDraw.org - Official maintainer of the LDraw file format specification and the LDraw official part library.

Lego CAD Tools

LPub Instructions Tools

  • Original LPub publishing tool by Kevin Clague
  • LPub3D successor to LPub by Trevor Sandy
  • Manual for Legacy LPub 4 tool (last version by Kevin Clague)

I hope speak on behalf of the Bricksmith user community to say we owe Allen Smith a debt of gratitude for creating and maintaining Bricksmith in the first place. He should be truly proud for contributing such a productive and efficient tool to the macOS user community!

bricksmithapp's People

Contributors

michaelgale avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

bricksmithapp's Issues

Compile and run the App?

Hi Michael,

Would love to try your fork, but don't know how to compile it. do I need do that in Xcode ?

Your changes are just what I'm looking for : )

Cheers

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.