Comments (8)
I'm assuming you're asking for the wireframe edges rather than the mathematical Edges? Unless @martin1cerny knows better I don't think there's a simple example showing how to extract this. It's possible this is easier in v6 GE now we have the full OCC model to work but it's not my skillset TBH
from xbimgeometry.
How to get wire-frame edges (meaning that discretized edge by triangulation), even if we need to modify implementation of Xbim.Geometry and its APIs ?
Which assembly version (V5.1.0 or V6) I should modify, so that it will be easy for us ?
Things that I have done till now,
-
Created a new method CreateEdgeGeometry in class XbimGeometryCreator based upon method CreateShapeGeometry.
-
Created a new method WriteEdgeTriangulation in class XbimOccShape based upon WriteTriangulation method that takes in a Binary Writer and writes the Edge Data.
-
Created a Wrapper Method in XbimGeometryEngine Class that casts the _engine as XbimGeometryCreator and calls the underlying CreateEdgeGeometry
With these changes we create a custom local package and add it to our project to access the CreateEdgeGeometry from an instance of XbimGeometryEngine
With these things done, we are still trying to figure out the following :
- Is this the proper way to add new functionality ?
- In the WriteTriangulation method, is the Triangulation is recomputed, for performance reason ?
- What
Type
would be more suitable to pass to the CreateEdgeGeometry method and return the vertices of the edge ?
We want to pass the XbimShapeInstance and query its edge data?
Also, I've checked the latest v6 branch and see a lot of changes there ?
These Some of these classes are not available or have been refactored there. Could you help us figure out
what would be the proper way to implement this in v6 branch ?
Thank you !!
from xbimgeometry.
@martin1cerny
Hello,
Did get chance to check the previous comment ? Can you please review the previous comment and share your thoughts ?
Thank you !!
from xbimgeometry.
Hi @CCT-Mukund-Thakare , you are right, there are many changes coming with V6. We have been talking about edge generation for a long time but never got to it properly. It is great you have bought the bullet and went to implement it! I assume you are willing to contribute this back to the Toolkit project? Shall we organise a call to see how to work together on this?
from xbimgeometry.
Hello @martin1cerny
Yes for sure, let's connect over a call.
These are my teams email ID -
[email protected]
[email protected]
[email protected]
[email protected]
You can schedule a call according to your available time or let me know your available time I will arrange one call.
Agenda will be -
- Current API design that we have implemented
- OCCT code to get edges.
- Ideal API design strategy for getting the edges.
Thank you !!
from xbimgeometry.
Hello @martin1cerny
Commenting to take update on call\discussion request mentioned in previous comment.
Thank you !!
from xbimgeometry.
Hello @andyward @martin1cerny
I have code ready at my end for getting the edges, I wanted to commit it.
I have created branch issues/issues465, I am able to commit it locally but I am not able to push the branch to origin.
I am getting this error, it seem's I am not able to access the origin for XbimEssentials and XbimGeometry and I think it is obvious for security reasons.
Any idea or suggestions on how can I push this branch to origin so that I can create PR and then have a discussion around it.
Waiting for your reply !!
Thank you !!
from xbimgeometry.
You need to push the commits to your own github repo, and then you can make a PR back to the repo in XbimTeam
i.e.
- Fork the relevant xbimTeam repo to your account
- Update your local remotes to include your fork
- git push to your new fork
- create a PR back to the origin
from xbimgeometry.
Related Issues (20)
- net6.0 support HOT 4
- Cant create valid IfcSurfaceCurveSweptAreaSolid HOT 1
- Getting correct position of the model in world coordinates
- How to set up local development environment to fix bug's and create PR to contribute in xbim repositories. HOT 1
- Load Ifc File System.AccessViolationException HOT 4
- Big size of result IFC file HOT 3
- XbimShapeInstance.Transformation places instance in world coordinates HOT 1
- Setting model units HOT 3
- Is v6 geometry engine currently much slower than v5?? HOT 2
- System.OutOfMemoryException. Array dimensions exceeded supported range. HOT 5
- GetShellPoints of a component HOT 1
- Failed to load IFC file: failed to load Xbim.Geometry.Engine64.dll HOT 6
- We need to get plot line bounding box distance for all levels. HOT 1
- We need to get shellpoints of any Building elements. HOT 1
- How to get face points of any building element. HOT 1
- ShapeUpgrade_UnifySameDomain causes a freeze HOT 5
- How to find Width of IfcRamp element?
- Degenerate wire leads to crash (BRepAdaptor_CompCurve) HOT 1
- WexBim viewer is not showing the geometry correctly HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xbimgeometry.