Giter VIP home page Giter VIP logo

chili3d's Introduction

Chili3D

Chili3D is an open source 3D CAD software that runs in any modern web browser. It is built with TypeScript and uses OpenCascade and Three.js for 3D modeling and rendering. Chili3D offers a simple and user-friendly interface that allows you to easily create and modify 3D models.

screenshot

Features

  • Open-source (https://github.com/xiangechen/chili3d.git).
  • Runs on modern web browsers (https://chili3d.com).
  • Localization (i18n) support.
  • Simple and intuitive user interface.
  • Highly flexible hierarchical organization of models.
  • Wide range of tools - rectangle, circle, line, box, prism, sweep...
  • Import and export STEP, IGES, BREP...
  • Snap and Track.
  • Undo / Redo.
  • Local-first support (save to the browser).
  • Open format - save as an .cd json file.

How to Use

This project requires Node.js to be installed.

$ git clone https://github.com/xiangechen/chili3d.git
$ cd chili3d
$ npm i
$ npm run dev

Then open http://localhost:8080/ to use Chili3D.

WARNING

Chili3D is still in the very early stages of development. APIs can and will change (now is the time to make suggestions!). Important features are missing. Documentation is sparse. Please don't build any serious projects in Chili3D unless you are prepared to be broken by API changes constantly.

chili3d's People

Contributors

xiangechen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chili3d's Issues

sig导出会乱的问题

例如我画了一个立方体,导出IGS 然后再导入会乱或者丢失,如图:
QQ_1722939521672

然后这个是STP的导出,然后导入是正常的,如图:
QQ_1722939573466

是什么问题呢,希望大佬帮忙解决一下

HelloStar 计划

您好,我是 HelloGitHub 项目 的发起者。

「HelloStar 计划」是一个面向个人开发者的 Star 增长计划,我将毫无保留地用 HelloGitHub 的流量(全网 40w 粉丝),帮助个人开发者的开源项目,完成项目冷驱动阶段。只为交朋友、为开源,希望你的项目起飞后,能记着在你的开源之路上,有 HelloGitHub 这个朋友。踏踏实实做开源的人,应该荣誉加身、成为开源 Star。

要求如下:

  1. 个人开发者,热爱开源
  2. 开源项目 Star < 1k、持续维护 3 个月以上并打算长期维护
  3. HelloGitHub 的粉丝

我今年计划帮助 100 位个人开源作者,包括但不限于在推广、运营和贡献等方面提供帮助,只要你把我当朋友一切就都说得通。如果你感兴趣,那就带上你的开源项目,来找我吧!微信:xueweihan(备注:100)

Proposal: Industry Foundation Classes (IFC) ifcXML or STEP Physical Format (SPF or IFC-SPF) as the Main Open Format

Industry Foundation Classes (IFC)

From Industry Foundation Classes IFC 4.3

Introduction

The Industry Foundation Classes (IFC) are an open international standard for sharing Building Information Model (BIM) data. The standard comprises:

  1. A schema (provided in various forms, see scope)
  2. Documentation (provided in HTML, authored in Markdown)
  3. Property and Quantity Set definitions (standardized definitions for an extensibility mechanism realised in the schema - provided in XML)
  4. Exchange or serialization mechanisms of data files, see scope

The prevalent exchange format for IFC is the Step Physical File Format (ISO 10303-21:2002) based on the schema publication using the EXPRESS language (ISO 10303-11:2004). It is a clear-text encoding of the entity instances that make up the exchange, in which attribute values are provided as an ordered sequence of unnamed values.

Conventions

The IFC specification includes terms, concepts and data specification items that originate from use within disciplines, trades, and professions of the construction and facility management industry sector. Terms and concepts use the plain English words, the data items within the data specification follow a naming convention.

  • the data item names for types, entities, rules and functions start with the prefix "Ifc" and continue with the English words in CamelCase naming convention (no underscore, first letter in word in upper case);
  • the attribute names within an entity follow the CamelCase naming convention with no prefix;
  • the property set definitions that are part of this standard start with the prefix "Pset_" and continue with the English words in CamelCase naming convention;
  • the quantity set definitions that are part of this standard start with the prefix "Qto_" and continue with the English words in CamelCase naming convention.

buildingSMART International publishes translations of those terms and concepts into other human languages on translations.buildingsmart.org.

Model View Definitions

Official model view definitions (MVDs) exist as related specifications. The official MVD policy for IFC 4.3 currently holds 3 levels of implementation for IFC:

  • Reference View
  • Alignment Based Reference View
  • Design Transfer view

These three MVDs can be seen as three levels of implementation for IFC 4.3. They are gradual levels adding more advanced features to the implementations. The documentation is deposited at standards.buildingsmart.org.

Architecture

The data schema architecture of IFC defines four conceptual layers, each individual schema is assigned to exactly one conceptual layer. The figure below shows the schema architecture of the IFC layered architecture.

Figure 1 --- Data schema architecture with conceptual layers

Figure A

  1. Resource layer --- the lowest layer includes all individual schemas containing resource definitions, those definitions do not include a globally unique identifier and shall not be used independently of a definition declared at a higher layer;
  2. Core layer --- the next layer includes the kernel schema and the core extension schemas, containing the most general entity definitions, all entities defined at the core layer, or above carry a globally unique id and optionally owner and history information;
  3. Interoperability layer --- the next layer includes schemas containing entity definitions that are specific to a general product, process or resource specialization used across several disciplines, those definitions are typically utilized for inter-domain exchange and sharing of construction information;
  4. Domain layer --- the highest layer includes schemas containing entity definitions that are specializations of products, processes or resources specific to a certain discipline, those definitions are typically utilized for intra-domain exchange and sharing of information.

ifcXML

.ifcXML is a Extensible Markup Language (XML) provides enhanced readability and benefits from a broad range of software tools. ifcXML is based on the ISO standard for representation of STEP data in XML format ISO 10303-28


STEP Physical File (SPF) .ifc

STEP Physical Format (SPF or IFC-SPF) is the most widely used format for IFC in practice, which is the most compact of the formats listed that can be read as text. IFC-SPF is based on the ISO standard for clear text representation of EXPRESS data models ISO 10303-21


Reference Links

igs原文件18m,导出stp56m

igs原文件18m(总共有5100多个模型组成),导出stp56m,18m的文件 然后导出stp要1个多小时,这个还能优化吗?
QQ_1723001975551

QQ_1723001944986

constraint solver

非常不错的一个项目,是否有计划添加约束求解器呢?

导入stp没有颜色

导入stp时,可以默认stp214的方式加载吗?这样可以保留颜色
image
chili3d显示的没有颜色:
image

Sponsor

Any chance of being a sponsor in exchange for influence on the roadmap and hours of support?

info

Hi, first of , congrat for this project.
Do you offer support to compile and run?
I am new in Typescript ( but I OCC skilled)
Thanks in advance

系统运行环境需求

请问需要npm和node的什么版本运行?目前在ubuntu 20.04下,安装了npm 6.14.4和node 10.19.0,都是系统命令apt安装的,运行这个系统有错误.

root@chili3d-dev:/opt/data/chili3d# npm run dev

[email protected] dev /opt/data/chili3d
npx rspack dev

yargs parser supports a minimum Node.js version of 12. Read our version support policy: https://github.com/yargs/yargs-parser#supported-nodejs-versions
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] dev: npx rspack dev
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2024-04-29T05_23_15_221Z-debug.log

导入stp模型只能作为一个整体

你好,感谢你这个项目。
我按照指南启动项目后,访问web页面。
导入stp文件后,左侧项目树中,导入的模型只显示为一个整体,右侧编辑页面中也没法选中模型的零件。
再导出为stp文件后,通过FreeCAD软件打开,是有保留零件信息的。

之前对three.js有所了解,.stp需要转换为.glb后再通过three.js加载,在转换过程中,模型内部的零件信息会丢失,变为一个整体。

请问目前在web编辑器里,导入的stp模型只能作为一个整体吗?
有没有计划实现这样的功能:
导入stp后,按照其结构树将各部分零件分别转换为glb,再通过three.js加载其所有零件,形成与原始stp结构树相同的装配关系。

BOX6个面中z平面的面position属性数据不正确

获取BOX的6个面后,展开mesh.faces?.positions属性查看position,发现其位置和实际位置不相匹配,面的positon中代表高度的数据正好减去了box的高度。
位置截图
同理,mesh.edges中的position的高度也是不匹配的
边缘线位置
截图中这个box的高度为1049

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.