How to create basic IFC File in C# - c#

As per Wiki, The Industry Foundation Classes (IFC) data model is intended to describe architectural, building and construction industry data.
The Industry Foundation Classes (IFC) data model is a neutral and open specification that is not controlled by a single vendor or group of vendors. It is an object oriented file format with a data model developed by buildingSMART (International Alliance for Interoperability, IAI) to facilitate interoperability in the building industry, and is a commonly used format for Building Information Modeling (BIM).
For example One could be developing virtual building model in Revit, then send it to interior team who use ArchiCAD. It might also be sent to engineers who use Tekla. Before the IFC standard file type this would have been a nightmare. As Revit, ArchiCAD, Tekla can talk to each other, but not easily!!!
IFC aims to solve this problem, so that it won't matter so much. IFC file is unified format which can be understood by other CAD Softwares as well.
My Organisation works on one of the CAD Software and they want to export there Models in IFC so that it can be open and viewed in Other software's as well like Revit, ArchiCAD, Tekla.
So Our use case is, we need to create a IFC file of such a model.
So as per this Post, I am planning to use xBim. This link
I am using xBim Library to Create IFC File in C#. As per xBim documentation and Sample Code, I found that, How to create a Simple wall.
Now I want to create a basic Xbim.Ifc4.HvacDomain.IfcPump.
Can someone help me how to create one Xbim.Ifc4.HvacDomain.IfcPump in IFC using xBim C#?
I am new in CAD development and hence I am finding difficulties to understand the IFC. Please do the needful.
I hope this much information will be helpful,enough and clear.
Thanks in advance!!!

Without an example of code of what have you tried is difficult to help, but you can find resources in the API of XBim. With the examples of how to setup a wall in the document and the API documentation you should have clues to how to start your program, once you have some code, you can clarify the question so the community can help you more efficiently.
About how the IFC works and is written, you can find all you need to know here if you use a different version check the this website, in the IFC documentation the pump you are looking for is here.
I hope this resources are useful for you task.

Related

Simple SharpMap example to create shape file

I'm looking to create a simple shape file using sharpmap (or some other library if it's easy/free). I want a shape file with just some lat/long points on it. I can't find a simple working example using sharmap v2 that actually can compile.
I don't want to put these shape files in to a map engine at run time, just save the files off to the disk.
The closest thing I could find is here, but targets an older version of the API:
http://sharpmap.codeplex.com/discussions/38358
The SharpMap project is apparently spitted into two main branches on GitHub:
One is called SharpMap and is pretty active: https://github.com/SharpMap/SharpMap
The other one is SharpMapV2 and was apparently dead by around 2012 https://github.com/SharpMap/SharpMapV2/
They are both under the same GitHub account so the "branding" of these libraries and their API is pretty confusing.
The SharpMapV2 has some saving capabilities. The Link you provided uses the API of SharpMapV2.
The two project have common developers, maybe the easiest way to know about the status of that feature in both version is to try to get in touch with them and post their answer here.

Automatically convert a MindMap to another app (e.g. MS Project)

Here is the situation:
We ran a brainstorming session to find all the tasks we will have to achieve for our project
Now, I want to create a Gantt Planning (for instance) with all these tasks
We already built a MindMap with Xmind (I sometimes use Freemind too, or I could also export the Xmind to a Freemind format).
I would like to create a Gantt Planning in Microsoft Project (this is what we mainly use here).
My questions are:
Has anyone of you ever tried to automate the creation of a Gantt from the MindMap (using each level of the MindMap as Title and each leaf as Tasks)?
Would it be possible with VBA? Or C#? I didn't find much API to Xmind of Freemind, did I miss something?
If you can convert your mind map to Freemind, there is some documentation on the Freemind site which provides a couple of approaches to reformatting the Freemind file as an XML file which MS Project can read.
I maintain MPXJ, a library which can be used to read and write file formats which MS Project works with. I felt sure that someone had already written an add-on for Freemind which allowed you to export mind maps as a project plan using MPXJ... however I can't find a reference to it any more! If you don't mind a bit of coding (in Java, or any of the .Net languages) it wouldn't be too hard to achieve what you want using MPXJ.
Jon
We're doing exactly that with STOIC.

extracting nouns,noun phrases,adjectives verbs from text file corpus using visual c#

i am doing a project wherein i have to extract nouns adjectives noun phrases and verbs from text files(.doc) format.
i have a corpus of around 75 such files. i have accessed net to find about it and i came across POS tagging in python using nltk.
as my project is in c# (using visual studio 2008) i need a code to do so.
i have tried wordnet api for the same and even sharpnlp but as i am a newbie i found these tough to integrate with my project.
can anybody please suggest me simpler code to do so using something like vocabulary etc. plz help me guys.
thanx.
I worked in NLP (Natural Language Processing) for an industry leader for a while and what you want to do is no trivial task. I know one of the creators of nltk and I have used it myself; it's a high quality open source tool and I'd recommend you use it (do you have a particularly compelling reason to use C#?)
POS tagging is typically implemented by training a model of language on hand-annotated data, then applying that model to new text, predicting the parts of speech and giving a confidence . nltk has tools that do this, and they also have some models (if I'm not mistaken).
You'll find that most tools are written in C++, Java, and Python. If you don't know any of the languages look at this as an excellent opportunity to learn something!
See Wikipedia, especially the links at the bottom, for more information and other software available to use for such tagging.
Christopher is correct in his statement that NLP implementations are no picnic. However, I've recently looked into a viable solution using OpenNLP in a .NET project with a rudimentary PoS parser. In my example I am looking for noun phrases, but it shouldn't be too difficult a text to find other fragments as well. I find the OpenNLP Tools Models for 1.5 to be sufficient for my purposes.
I realize this answer is woefully late for the questioner, but hopefully it will give others some inspiration with this difficult field to get into.
Extracting noun phrases with contextual relevance in .NET using OpenNLP
Kindly read through this article.
Easy Integration of SharpNLP with C# Visual Studio Project
In this article, I have given a step by step way of integrating SharpNLP with C# project and have given sample code snippets for specifically address your issue such as Sentence Splitting, tokenizing and POSTagging.
Try this out and I will be able to help you with the problems you encounter.

Question on Speech Recognition classes in .NET

Is it possible to have an application built using the .NET speech recognition classes and pass in a WAV file for it to go through and create a text representation of it. For example, this what I'm trying to do:
We have a QA department at my office and they have to listen to hundreds of calls a day which is quite impossible, and there's not enough people listening to everything to keep up. What I want to do is have the audio file uploaded to our server and have the server parse it and create a transcript of it. It doesn't matter if it's not perfect, but just a base which would be easier to skim through a couple of dozen lines of text than listen to a 2 hour recording.
Based on a saved transcript I can implement full-text search in the database and also run checks against the transcript if someone is saying something that's a misrepresentation.
So, is it possible to create an application using the .NET speech recognition classes and just pass the WAV file to it and it spit out a rough transcript?
I've dug around MSDN on the Speech classes briefly while thinking up the idea, so I don't have that much knowledge if it's possible to be done.
If possible, I would appreciate any examples in C#. Topic 1055347 is similar to the question I'm having, and was provided links, the most specific of which is in C++. I'm not a C++ developer, nor have I ever went to school for programming, I'm all self though C#, so I would like to stay in the language that I know.
Thanks in advance!
This sounds like you've got a call center type of application. Microsoft Speech Server has a SR engine optimized for telephony (8000 Hz sample rate), which will generate much better recognitions than the desktop SR engine. However, the engine isn't really designed for transcription (although it can do it), and the transcriptions definitely need to be reviewed before further processing occurs. Microsoft Exchange Unified Communications uses the SR engine to generate transcripts of voice mail, and while it's better than nothing, it often generates amusing nonsense.
With areas like speech recognition you are likely to either find a stand alone EXE or an API in c/c++.
For the links in the other topic, you can use a tool like P Interop Assistant to generate C# code. The C# code acts like a wrapper around the unmanaged dll, so you can call it from c#.
This is likely to be the best way to get the functionality you are looking for.
Yes.
I did such an application a few years ago on the Tablet PC; you can read about it at http://web.archive.org/web/20060615192119/www.devx.com/TabletPC/Article/30761 (At the time, I spoke of using Interop to access the libraries, but I believe that the programming model has remained the same, just with a managed wrapper.)
At the time, the results were very poor, but maybe for your use-case better than nothing.
How about route the calls to Google Voice? I'm sure there are similar services. I have been amazed at its accuracy so far, plus you can click and listen to it if required. Google Voice will forward voice calls to SMS or email.
UPDATE: On reread, maybe since you are recording calls it won't work as I yous the voice message left.

What is a good api for mapping gps coordinates in c#?

I have a project that has a list of gps coordinates. I would like to find a way to make a simple map of those coordinates (possibly just one at a time). The map should have basic street info.
This part of our project is pretty simple so I don't think it needs to be an exceptionally feature rich product. This also means it shouldn't be really expensive.
What is a good product to achieve this?
edit: This is a desktop app where internet connectivity will probably not be available.
Google Maps is great for this.
If this is a desktop app with internet access you could still host an IE control and show it there.
EDIT: If this is a desktop app without internet access you'll have to buy something like Microsoft Streets & Trips. I don't know if it has reusable controls. You probably have to buy something more expensive to get that. Applications of this nature often fall under the category "GIS". Try searching Google for that.
Sharpmap is open source project written in C# and released under LGPL. To quote first line from page:
SharpMap is an easy-to-use mapping library for use in web and desktop applications.
I'd go with this solution
Map Rendering: SharpMap
Geometry operations: NetTopologySuite
Map data store: shapefiles in your file system or PostGis over PostgreSQL
Map data itself: the easiest way may be extracting from OpenStreetMaps data. Here, for example you can download shapefiles for your desired location
Everyting is open source (more or less, check the licenses) and works fine on windows.
Hope it helps
ESRI has an API. They have javascript, silverlight,wpf, and flash. they may have more. ESRI is pretty much the standard in mapping.

Categories