autodesk / civilconnection Goto Github PK
View Code? Open in Web Editor NEWCivilConnection enables the exchange of information between Civil 3D, Dynamo and Revit.
CivilConnection enables the exchange of information between Civil 3D, Dynamo and Revit.
I installed version 3.0, but it's not showing up in Dynamo. I have Dynamo from Civil3D 2.1.1. Do I need to have Revit 2020 installed?
Hi,
The node Mass.ByShapesCreaseStations does not seam to be working properly in the latest version 4.0.3, it's only generating a single good family and the rest are empty families.
In the a previous version 3.0.8 the node was working properly.
See images below.
Best regards!
Hi Paolo,
A colleague found that IFC Export is not working if the file is open as read-only. We use a file management system and to be sure that the file remain the same as the file on CDE we open it as read-only. I'm not sure why is needed to be saved after the geometry is back on the initial position, but an try and catch system for error is good there where the file is saved.
This is the error if I put this in a python node, with my old branch (in the original master is line 1480 or something like that).
Can I get the uncompiled files for Civil Connect 2020 somewhere?
Paolo,
What is the reason you changed to old code to getting the data from the xml?
Can I re-instate the old code, under another name? I realy do not like all the xml stuff if I can access the data directly.
I also want to add getting featurelines from offset-alignments
Regards,
Bart
Hi,
In Civil 3D file, the corridor contains only 1 baseline while having 2 baseline regions. Due to which it creates 2 featurelines for same point code. Also, the baseline is made up of very long alignment, due to which whenever I used the node Featureline.PointAtStation giving any station value outside the start and end point of featureline (but the station value withing the alignment station range), I am getting a point. Instead of getting point value, it should give an error or null value for a point.
I also checked the old code of CivilConnection, it was as below:
`public CoordinateSystem CoordinateSystemByStation(double station, bool vertical = true)
{
Utils.Log(string.Format("Featureline.CoordinateSystemByStation started...", ""));
CoordinateSystem cs = null;
CoordinateSystem output = null;
if (Math.Abs(station - this.Start) < 0.00001)
{
station = this.Start;
}
if (Math.Abs(station - this.End) < 0.00001)
{
station = this.End;
}
//bool findIntersection = true;
if (station < this.Start || station > this.End)
{
var message = "The Station value is not compatible with the Featureline.";
Utils.Log(string.Format("ERROR: {0}", message));
//findIntersection = false;
//return null;
}
cs = this._baseline.CoordinateSystemByStation(station);
Utils.Log(string.Format("CoordinateSystem: {0}", cs));`
and in the new version of code :
` public CoordinateSystem CoordinateSystemByStation(double station, bool vertical = true)
{
Utils.Log(string.Format("Featureline.CoordinateSystemByStation started...", ""));
CoordinateSystem cs = null;
CoordinateSystem output = null;
if (Math.Abs(station - this.Start) < 0.00001)
{
station = this.Start;
}
if (Math.Abs(station - this.End) < 0.00001)
{
station = this.End;
}
if (station < this.Start || station > this.End)
{
var message = "The Station value is not compatible with the Featureline.";
Utils.Log(string.Format("ERROR: {0}", message));
}
cs = this._baseline.CoordinateSystemByStation(station);
Utils.Log(string.Format("CoordinateSystem: {0}", cs));`
Requesting you to look into this issue.
Thanks
Atul Tegar
Which version are you using?
we have our internal version, but is base on your version 4.0.4
What did you do? (Steps to reproduce)
1. Open a new Civil3D file
2. Add a point group from Dynamo
3. Read the points groups => works fine
4. Go to Civil3D, delete all poins from document
5. Read the points group => no points in document, empty list => works fine
6. Add a new point group form Dynamo
7. Read the points groups => didn't works
What did you expect to happen?
_To get the current points from Civil3D file. _
What did happen instead?
return an error: The parameter is incorrect.
The points are read from document by index in points list, but the provided number as index represent the point number not the index. The actual solution works fine only if no point is deleted because only in this case the index == point number.
dynamo defintiion
cogo points.zip
change the below line
with:
AeccPoint p = doc.Points.Find(i);
Hi Paolo,
I have a question regarding how the Corridor.GetFeaturelinesByCode node works.
Best Regards! :)
Hi,
There seams to be am issue with the AppliedSubassemblyShape's that I get from the nodes BaselineRegion.Shapes and Corridor.Shapes when dealing with certain types of Corridors.
The problem I'm facing is when I have a corridor made up multiple Regions with different Assemblies, see example below:
Red = 1st Sub-Region with it's respective Assembly
Blue = 2nd Sub-Region with it's respective Assembly
As you can see the two Sub-Regions form a continuous Region with station 104.78 being common.
I've noticed some time ago that I get some gaps in the Mass's obtained using Mass.ByShapes nodes, but did not quite understand why this was happening
So the conclusion that I arrived at is that is has something to do with the Subassembly Shape not being properly detected at the intersection of the 2 Sub-Regions.
For some reason the Assembly at station 104.78 where the two Sub-Region's intersect is taken from the previous Sub-Region 1 when in reality it should be from the second one.
I'm assuming the *.Shapes nodes are trying to avoid 2 Assembly instances existing at the same location.. is this correct? Or is there another explanation..
Is there any solution when faced with Corridors that have multiple Regions with different Assemblies?
Thank you!
Hi!
There might be a bug with the Featureline.Start and Featureline.End blocks, the values I'm getting are a bit off compared to the old version of CivilConnection.
The correct values should be 1090 and 4340 respectively, as they are defined in the civil corridor.
See attachments bellow:
Kind regards,
Hi there,
Revit 2022.1 being in the pipeline, I don't know how much effort it represents to port it to revit 2022?
nice tool
I am trying to run a dynamo script from within a family which previously worked without any problems. After some time, in which I installed Civil3D 2020 and got a new company virusscanner, I get the following error:
CivilConnection still runs fine from a Revit project, it's only from a family that I get the error. Is this a known issue and how do I fix it.
Kind regards, Jaco Romkes
I glad to work again with CivilConnection, but there are few things that are challenging me. Not sure if in your previous versions works to read featurelines from corridors as reference from data shortcut but I think yes, if I remember correctly. The problem is when a reference corridor from data shortcut have regions. These regions return nulls in the code and the featureline cannot be created because the stating and end station cannot be computed.
I took the Roadway corridor from your dataset, split that one in 3 regions and I create a reference in a new drawings.
When I read the featureline from the source drawing everything is fine but reading featureline from reference corridor from data shortcut give nulls.
I create a new branch and changed the code a little bit, but I cannot push my fork with the changes. So here my changes:
for baseline.cs
public double[] GetArrayStationOffsetElevationByPoint(Point point)
{
Utils.Log(string.Format("Baseline.GetArrayStationOffsetElevationByPoint started...", ""));
AeccAlignment alignment = this.Alignment.InternalElement as AeccAlignment;
double station = 0;
double offset = 0;
double elevation;
alignment.StationOffset(point.X, point.Y, out station, out offset);
try
{
double profileStart = this._baseline.Profile.StartingStation;
double profileEnd = this._baseline.Profile.EndingStation;
if (profileStart > station && Math.Abs(profileStart-station) < 0.001)
{
station = profileStart;
}
else if (profileEnd < station && Math.Abs(profileEnd - station) < 0.001)
{
station = profileEnd;
}
elevation = point.Z - this._baseline.Profile.ElevationAt(station);
}
catch
{
elevation = point.Z - PointByStationOffsetElevation(station, offset, 0).Z;
}
Utils.Log(string.Format("Baseline.GetArrayStationOffsetElevationByPoint completed.", ""));
return new double[] { station, offset, elevation };
}
for featureline.cs:
internal Featureline(Baseline baseline, PolyCurve polycurve, string code, SideType side, int regionIndex = 0)
{
this._baseline = baseline;
this._polycurve = polycurve;
this._code = code;
this._side = side;
this._regionIndex = regionIndex;
try
{
var region = this.Baseline.GetBaselineRegions()[this._regionIndex];
this._start = region.Start;
this._end = region.End;
}
catch
{
this._start = Convert.ToDouble(baseline.GetStationOffsetElevationByPoint(polycurve.StartPoint)["Station"]);
this._end = Convert.ToDouble(baseline.GetStationOffsetElevationByPoint(polycurve.EndPoint)["Station"]);
}
}
for profile.cs: - also to ignore the error when there is a very small difference between starting station of the profile and starting station of the baseline.
public double GetElevationAtStation(double station)
{
//ignore if error is less than 1mm
if (this.StartStation > station && Math.Abs(this.StartStation - station) < 0.001)
{
station = this.StartStation;
}
else if (this.EndStation < station && Math.Abs(this.EndStation - station) < 0.001)
{
station = this.EndStation;
}
return this._profile.ElevationAt(station);
}
Can you try these changes in the corridor (to have regions on a reference corridor from data shortcut) and read the featurelines? There is another better approach for that? My code still give errors if the featureline have the same code: at intersection with another corridor where is a new road line give errors - the featureline jump from one line to another =>in few particular cases, the station computed with my code differ from the baseline region start / end station.
Hello,
Im trying to install on C3D 2019, Revit 2019 and Dynamo 2.0.3.8811
First ,I copied the Zip file found in "Dynamo_CivilConnection\civilconnection-master\Compiled\2019" to the dynamo Revit packages and extracted in the folder.
Secondly, i edit the xml file to later find out i did not have to do this step, then i installed the CivilPython.dll to the following route "C:\ProgramData\Autodesk\ApplicationPlugins\CivilPython.bundle" i am able to execute the python, -python command in the cmd, and made it always loadable in C3D
Then i set civil 3d in imperial system, and civil 3D workspace, i opened revit imperial as well, i imported and acquired the coordinates from the DWG file.
I expected to see the the package in the dynamo library UI but it wont show the package or its nodes.
Any help or suggestion would be appreciated, thank you!
Hi,
There seams to be a loss in precision for the Z values of the featureline points when the input station has a precision greater the 0.1 digits. This loss in precison is only present if the station is close to a PVI point.
As an example, what I've encountered, for a corridor at the station 166.25 I am getting in Civil 3D an elevation of 2.641m for the baseline and the featureline (the mark point for the featureline just having a 3m offset from the baseline, so the elevations should always be the same for both of them).
When I read the elevations at the same station in Dynamo I get a small difference of a few milliliters.
Normally I would just ignore this small loss in precision but in my case it does effect the model I'm trying to create in Revit.
Not sure if anything can be done to improve or fix this, but other users might want to be aware of this of this.
Best regards!
Bellow are some screens to show the issue, in which I sample the point values at stations 166, 166.2 and 166.25.
I have been through the installation for 2018 and 2019 versions of Revit and C3d and cannot get the CivilApplication node to connect to civil 3d.
I have a tried a long list of fixes but always get the same result, can anyone help?
The installation guide says this error is a conflict between versions so i have removed the 2018 version and reinstalled dyanmo but it still doesn't work.
CivilConnection 2020 ver. 4.0.4
CivilSurface.GetTrianglesSurfaces Node can not create triangles in Dynamo.
Error message is: Error creating Surface: Points are coincident.
CivilConnection_temp.log file and surface.xml created in %TEMP% folder are in attachment.
Hi Paolo,
I try to create CoordinateSystemByStation from a list of stations. Not all stations are in the featureline start end stations range. I know the stations can be filtered in Dynamo to keep only what is in featureline range but I'm looking to see if this can be done easily in C#, not each time for each Dynamo graph. I was looking in the log file and I have these events for a success CS and for an error:
[14/05/2019 21:47:02] Featureline.CoordinateSystemByStation completed.
[14/05/2019 21:47:02] Featureline.CoordinateSystemByStation started...
[14/05/2019 21:47:02] Baseline.CoordinateSystemByStation started...
[14/05/2019 21:47:02] Baseline.PointByStationOffsetElevation started...
[14/05/2019 21:47:02] Baseline.PointByStationOffsetElevation completed.
[14/05/2019 21:47:02] Baseline.CoordinateSystemByStation completed.
[14/05/2019 21:47:02] CoordinateSystem: CoordinateSystem(Origin = Point(X = 149665.149, Y = 213847.196, Z = -15.485), XAxis = Vector(X = 0.844, Y = -0.537, Z = 0.000, Length = 1.000), YAxis = Vector(X = 0.537, Y = 0.844, Z = 0.000, Length = 1.000), ZAxis = Vector(X = 0.000, Y = 0.000, Z = 1.000, Length = 1.000), XScaleFactor = 1.000, YScaleFactor = 1.000, ZScaleFactor = 1.000)
[14/05/2019 21:47:02] Intersections: 1
[14/05/2019 21:47:02] Distance: 1.95172764188092
[14/05/2019 21:47:02] Point: Point(X = 149663.504, Y = 213848.243, Z = -15.567)
[14/05/2019 21:47:02] Featureline.CoordinateSystemByStation completed.
[14/05/2019 21:47:02] Featureline.CoordinateSystemByStation started...
[14/05/2019 21:47:02] Baseline.CoordinateSystemByStation started...
[14/05/2019 21:47:02] Baseline.PointByStationOffsetElevation started...
[14/05/2019 21:47:02] Baseline.PointByStationOffsetElevation completed.
[14/05/2019 21:47:02] Baseline.CoordinateSystemByStation completed.
[14/05/2019 21:47:02] CoordinateSystem: CoordinateSystem(Origin = Point(X = 149665.149, Y = 213847.196, Z = -15.485), XAxis = Vector(X = 0.844, Y = -0.537, Z = 0.000, Length = 1.000), YAxis = Vector(X = 0.537, Y = 0.844, Z = 0.000, Length = 1.000), ZAxis = Vector(X = 0.000, Y = 0.000, Z = 1.000, Length = 1.000), XScaleFactor = 1.000, YScaleFactor = 1.000, ZScaleFactor = 1.000)
[14/05/2019 21:47:02] Intersections: 0
[14/05/2019 21:47:02] Distance: 1.79769313486232E+308
[14/05/2019 21:47:02] Point:
[14/05/2019 21:47:02] ERROR: Point is null.
[14/05/2019 21:47:02] Featureline.CoordinateSystemByStation completed.
I stop the script because was taking to much time. I have ~600 stations and ~180 small featurelines (a lot of baseline regions :( ). The log file is about 50MB and growing faster.
There is any option to skip a station from beginning of the method if it is not between start and end station? I see that the null point is replaced with start / end point after method try to find the intersection point with the featureline polycurve, but what if that is will be done from beginning?
Something almost the same is made already for Baseline.CoordinateSystemByStation. Indeed Featureline.CoordinateSystemByStation have an error The Station value is not compatible with the Featureline.
but this is returned if Baseline.CoordinateSystemByStation return null
.
What do you think about this?
The civil connection 2021 package fails to load with the following error: "A package called CivilConnection2021 found at C:\ProgramData\Autodesk\RVT 2021\Dynamo\2.6\packages\CivilConnection2021 could not be verified to have signed dll files. A dll file found at C:\ProgramData\Autodesk\RVT 2021\Dynamo\2.6\packages\CivilConnection2021\bin\Autodesk2021.dll did not have a signed certificate. Ignoring it."
I have unblocked the .dll .xml and .json files in the package.
When using the node "CivilApplication.CivilApplication" in a script, units in Revit change from mm to m. Is this a bug or a feature?:)
CivilConnection2020 4.0.4
Dynamo Core 2.3.0.5885
Dynamo Revit 2.3.0.6270
Revit 2020.2
Regards
Klaus Bang
NTI A/S
Hi Paolo,
this is related to issue #24
Is there a way to change something that there is no need to change the region formats?
I am working in Germany and because of that issue I cant get it work. When I change the region format to English(US), it works. But I cant change that for all my colleagues who want to use it.
I have tried to change that via python before the normal script starts and at the end to change it back to german, but it doesnt work till now.
Your help would be much appreciated.
Hello,
For some corridors at shapes extraction in the XML file the points are with Z = "NaN"
<Point X="151694.415803228" Y="214708.731402295" Z="NaN" />
<Point X="151694.433035345" Y="214704.931441367" Z="NaN" />
<Point X="151694.433035345" Y="214704.931441367" Z="NaN" />
<Point X="151694.415803228" Y="214708.731402295" Z="NaN" />
From this the shapes are not read. In BaselineRegion I change line 387 and replace with:
if(x.ToString() != "NaN" && y.ToString() != "NaN" && z.ToString() != "NaN") { points.Add(Point.ByCoordinates(x, y, z)); }
For the moment works fine for me with this change but I'm not sure if should be something more. Convert.ToDouble should return 0 if value is null but it return NaN - maybe the IFormatProvider is wrong)
I cant get Civil Connection 2020 to work I think due to CivilPython not working.
After setting CivilPython.dll to unblocked when I try to run the Command PYTHON inside Civil3d I get an unhandled exception.
Could not load file or assembly 'Microsoft scripting. Version=1.1.0.20,Culture=neutral, PublicKeyToken=7f709c5b713576e1' or one of its dependancies. The system cannot find the file specified.
In Dynamo I get the same error as though I have a mismatch between applications and the Civil Connection version which I do not
edit .. (Autodesk support sent me here)
Hi,
I am using Civil Connection 2018 with Civil 3D 2018 and Revit 2018.
Whenever I use the node Corridor.GetCodes or Corridor.GetFeaturelines, Dynamo is not responding.
May be it is because of, in the new version of Civil Connection, corridor featurelines are exported to XML file in TEMP folder and in my case it is not creating any XML file, it stucks there.
But whenever I used the previous version of Civil Connection (2.0.4) it works perfectly, because it is not exporting any data to XML, it directly reads from Civil 3D.
Thanks
Atul Tegar
Hi,
I'm using CivilPython with Civil 3D 2020.
I'm not able to import standard libraries such as os
. Here's the code:
import os
And the Exception thrown:
Traceback (most recent call last):
File "....\script.py", line 1, in <module>
ImportError: No module named os
Please give some instructions on how to attach IronPython Standard Library to CivilPython.
Thanks!
Hi,
There is an error on Intersection method from Dynamo. It's a little bit strange for me, when a featureline polycurve is intersected with a plane XZ of a coordinate system from the Baseline return a list of nurbs. If each curve of the polycurve is intersected with the plane XZ from coordinate system everything works fine. Also if I make a surface on that plan and intersect with the polycurve, works fine.
I try something like in below code and works fine, but I'm not sure if it's safe for large amount of data or not. Today trying this changed method on large list, Revit close without any message. Not sure if the issues is from here or from another part.
Plane plane = cs.ZXPlane;
//max distance of surface to intersect the polycurve
double maxDistForIntersect = 1000;
Plane plane = cs.ZXPlane;
Rectangle rec = Rectangle.ByWidthLength(plane, maxDistForIntersect, maxDistForIntersect);
Surface recS = Surface.ByPatch(rec);
PolyCurve pc = this._polycurve;
Point p = null;
double d = double.MaxValue;
dynamic rezIntersect = recS.Intersect(pc);
foreach (var result in rezIntersect)
If there is another better solution for this issue, when Featureline.CoordinateSystemByStation return null (Error - Point is null), please let me know.
Hi Paolo,
I have tried the new CivilSurface Nodes in your package, but it doesnt work unfortunately.
So Im able to get the CivilSurface, but as soon as I want to get the Surfaces from a small DTM with the "CivilSurface.GetTrianglesSurfaces" Node, my Dynamo is loading and nothing happens anymore. (for more than 1 hour).
When Im using the second node "CivilSurface.GetTrianglesSurfaces" with XML Path, my Dynamo is crashing.
Any idea what could be wrong?
When working on the local copy / cached Model of a BIM360 file the node: Mass.ByShapesCreaseStations can't create families. If the Revit model is taken of the cloud and saved as a 'regular' Revit central file and then the same script does works.
Suggestion: check the method with which you are getting the path of Revit file. In another application we have seen that to get this path you have to use different methods for BIM360.
An issues about the shapes. Sometime the points from Civil3D are very close, so that the PruneDuplicate function will keep only one point. That iteration need to be skip.
In first image, the shape XML element. In second image the error in Dynamo. Hope this help.
Hi Paolo!
Is it possible to change the save location for the families that are generated with Mass.ByShapesCreaseStations? (btw it's Crease? not Create in the node name)
I have some projects saved on BIM360 Docs and when I run the scrip it does not save/create the families, but if I detach the project locally it's all good. So I'm thinking it's because it can't access the BIM360 folder maybe.
Best regards!
Hi Paolo,
The old issue with the Corridor.GetFeaturelinesByCode node is back it seams. Dynamo gets stuck in a loop and freezez.
Might want to have a look at the latest CivilPython 2.0.0.
Previous version CivilPython 1.5.0 seams to be working fine with the node.
Best regards!
Hi Paolo,
I seam to be getting a Civil 3D error when using the Node Corridor.GetFeaturelinesByCode for some civil files, other files ones work just fine. After the error Dynamo gets stuck in a loop and nothing happens. I have attached the full details description of the error.
I've tested this with Revit-Civil 2018, Revit-Civil 2019, Revit-Civil 2020 with the CiviConnection 3.0.8 and the same error pop's up.
The curious thing is that the node Corridor.GetFeaturelinesByCodeStation works! With no errors on the same files that I'm getting the mentioned error.
Small update:
I've installed an old version of CivilConnection 1.0.19 with it's CivilPython.bundle and it has no issues, the node does not give me an error.
Even more strange is that I've uninstalled that old version of CivilConn and went back to CivilConn 3.0.8 and now the node works, for the moment at least. This is so confusing.
Kind Regards!
Which version are you using?
Revit 2020, Dynamo 2.3, Civil Connection 4.04
What did you do? (Steps to reproduce)
Tried making pipes from a bunch of lines
Got the Pipe Type (All PipeTypes in Revit doc, filtered By name)
Got the Pipe System Type (All PipeSystemTypes in Revit doc, filtered By name)
Got a Level
Result is a warning: Pipe.ByCurve operation Failed
What did you expect to happen?
To create a bunch of pipes.
Suggested Solution
Remove the DocumentTotalTransform function from the Pipe.ByCurve node, because it is not helpful if the lines don't come from Civil and are already translated to Revit Coordinate System.
Also check what went wrong in the Document Total Transform function and Log the Errors.
Hi Paolo,
Can you suggest or modify Civilconnection codes by removing Revit dependencies. In other words enabling direct use of Dynamo with Civil 3D - (2018 ver.). Revit usage is limited for Highway Designers using Civil 3D.
Andrew Milford had published some ppt for "Civil 3D Data Mining with Dynamo". (ref. - CES226095 on Autodesk university).
Thanks
Robin
Hello,
I followed the instruction of the video (https://www.youtube.com/watch?v=MAWkHWZMf7U), but it seems that in Dynamo (2.6) the nodes dont work., also in civil 3D when I write python nothing happens. I use Revit 2021 and Civil3D 2022. Some screenshots below
Thank you !
After installing CivilConnection2022 (ver. 6.0.0) I can't use Civil Connection Add-on.
The Add-ons section is missing.
Solved: Sorry, its a Revit addon only.
Hi Paolo,
What about a node to write text in CivilConnection_temp log file? It's more easy for users to see what Dynamo do while they are waiting or if Dynamo clash we can see what was the last thing made.
It's really easy to look at the log file and is very useful.
We can implement another log file but is more simple to have all about our scripts in only one log file.
We are experiencing
Warning: CivilApplication..ctor operation failed.
Value cannot be null.
Parameter name: path1
from the CivilApplication node.
Tried both the new version installed through package manager and version 3.08.
I only have 2020 versions of both Revit and Civil3d installed currently.
I have Dynamo Core 2.3 and Dynamo Revit 2.3 installed.
Hi Paolo,
Not sure if this is a Dynamo issue or more of a Civil3D issue, but maybe you have come across this and have some tips.
So I was testing out the workflow that uses the AppliedSubassemplyShape nodes and for some reason the geometry that I get in Dynamo for the Civil 3D Assemblies is incomplete (see images below):
Best regards!
releases here https://github.com/Autodesk/civilconnection/releases/tag/2023
Originally posted by @paoloemilioserra in #59 (comment)
Thank you for your feedback, but I detected the possibility of an error in the "CivilSurface.JoinSurfaces" node, it does not join the input surfaces..
As an example follow this tutorial with several different surfaces and there was no success...
CivilConnection: Revit, Dynamo, Civil 3D (Povrch TIN na topografii / Surface TIN to Topography)
when will the compilation for 2023 come out
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.