<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://communities.bentley.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Monika Prabhu's Blog</title><link>https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/monika_prabhus_blog</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>Bentley Pune office facade in Generative Components </title><link>https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/monika_prabhus_blog/posts/bentley-pune-office-facade-in-genrative-components</link><pubDate>Wed, 13 Jan 2010 17:31:00 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:305104ad-a995-4e98-91a0-ea748c8675b2</guid><dc:creator>Monika Prabhu</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/monika_prabhus_blog/rsscomments?WeblogPostID=105551</wfw:commentRss><comments>https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/monika_prabhus_blog/posts/bentley-pune-office-facade-in-genrative-components#comments</comments><description>&lt;p&gt;
This is a simple exercise which covers almost most of the GC related concept 
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://communities.bentley.com/photos/monika_prabhus_images/images/105545/original.aspx" border="0" title="bentley pune" /&gt; 
&lt;/p&gt;
&lt;p&gt;
Also&amp;nbsp;I see that this is one of the most popular facade as well! ( good for us ! ) 
&lt;/p&gt;
&lt;p&gt;
Example is based on 8.11.07.66 extension - 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://communities.bentley.com/photos/monika_prabhus_images/images/105548/original.aspx" border="0" /&gt;- new , open , save and saves as - GC file called as gct file where the script is saved. 
&lt;/p&gt;
&lt;p&gt;
Symbolic Diagram - Represents relationship between features 
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://communities.bentley.com/photos/monika_prabhus_images/images/105564/original.aspx" border="0" /&gt; 
&lt;/p&gt;
&lt;p&gt;
View Model - graphics is created in View Model. This data is created in DGN 
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://communities.bentley.com/photos/monika_prabhus_images/images/105565/original.aspx" border="0" /&gt; 
&lt;/p&gt;
&lt;p&gt;
To start with Set active Plane&lt;img src="http://communities.bentley.com/photos/monika_prabhus_images/images/105549/original.aspx" border="0" /&gt; - and set baseCS.XZPlane as active. 
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://communities.bentley.com/photos/monika_prabhus_images/images/105550/original.aspx" border="0" /&gt;- Create Point - &lt;br /&gt;
Exercise 1 &lt;br /&gt;
1. Click on Create Point &lt;br /&gt;
2. Press Ctrl and select the baseCS.XZPlane as the active plane. Place four points point01,point02,point03 and point04 .Click on create point -&amp;gt; Press Ctrl move curosor on to the plane , keep the Ctrl pressed and place points. 
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://communities.bentley.com/photos/monika_prabhus_images/images/105558/original.aspx" border="0" /&gt;- Move &lt;br /&gt;
Exercise 2 &lt;br /&gt;
1. Click on move tool&lt;br /&gt;
2. Select point by picking X/Y/Z handle and move to the desired location&lt;br /&gt;
Note : For more details on tools in the main dialog refer section Modeling based design in help &lt;br /&gt;
&lt;img src="http://communities.bentley.com/photos/monika_prabhus_images/images/105562/original.aspx" border="0" /&gt;- Record user changes to the transaction file - Use this tool to submit transaction&lt;br /&gt;
&lt;img src="http://communities.bentley.com/photos/monika_prabhus_images/images/105555/original.aspx" border="0" /&gt;Transaction Tab 
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://communities.bentley.com/photos/monika_prabhus_images/images/105563/original.aspx" border="0" /&gt;- Create Feature - To create the features in GC . 
&lt;/p&gt;
&lt;p&gt;
&lt;br /&gt;
Exercise 3&lt;br /&gt;
Feature - Every element created in GC is called as feature &lt;br /&gt;
Every feature has updatemethods which are different options available to create the specific features&lt;br /&gt;
Lets create a polygon. 
&lt;/p&gt;
&lt;p&gt;
1. Click on polygon and select method ByVertices and give input points created above.&lt;br /&gt;
2. Click on Ctrl and move the cursor to the point and the point automatically input in the field.&lt;br /&gt;
3. Press ok 
&lt;/p&gt;
&lt;p&gt;
Exercise 4&lt;br /&gt;
&lt;img src="http://communities.bentley.com/photos/monika_prabhus_images/images/105560/original.aspx" border="0" /&gt;- Create CoordinateSystem &lt;br /&gt;
Let's create a Coordinate System - we will use it to rotate the polygon&lt;br /&gt;
1. Click on CoordinateSystem - byOriginXYPoints&lt;br /&gt;
2. Let origin be the vertice of polygon - polygon01.Vertices[0]&lt;br /&gt;
3. XPoint = polygon01.Vertices[1]&lt;br /&gt;
4. Ypoint - polygon01.Vertices[3]&lt;br /&gt;
5. Press Ok. 
&lt;/p&gt;
&lt;p&gt;
Exercise 5 
&lt;/p&gt;
&lt;p&gt;
Let's have new coordianteSystem .ByOriginRotationAboutCoordianteSystem&lt;br /&gt;
Origin = coordinateSystem01&lt;br /&gt;
CoordianteSystem = coordinateSystem01&lt;br /&gt;
Rotation angle = -10&lt;br /&gt;
AxisOption= AxisOption.X 
&lt;/p&gt;
&lt;p&gt;
Exercise 6 
&lt;/p&gt;
&lt;p&gt;
Create a new polygon with the rotated coordianteSystem 
&lt;/p&gt;
&lt;p&gt;
&lt;br /&gt;
1. Click on polygon. CopyTransofrmGeometricContents&lt;br /&gt;
2. FeatureToCopy- Polygon01&lt;br /&gt;
3. From- coordinateSystem01&lt;br /&gt;
4. To - coordinateSystem01&lt;br /&gt;
5. Click show setting properties, Color = 5 
&lt;/p&gt;
&lt;p&gt;
Exercise 7 
&lt;/p&gt;
&lt;p&gt;
Graph Variable: &lt;br /&gt;
Variables are general purpose named data containers that can hold values as single values or as lists. The values can be accessed by using the variable name in place of the needed value. To manage and create Graph Variable one can use the feature list and the Evaluate update method or alternatively the &amp;quot;Manage Graph Variables&amp;quot; tab from the Graph menu &lt;br /&gt;
You can get this from Pull down menu Graph - Manager Graph variable&lt;br /&gt;
Create a graph variable - named &amp;lsquo;opening' with min - 0, max - 30 , step size - 5&lt;br /&gt;
Link this Rotation angle = - opening 
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://communities.bentley.com/photos/monika_prabhus_images/images/105575/274x375.aspx" border="0" /&gt; 
&lt;/p&gt;
&lt;p&gt;
Exercise 8 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Conditional modeling:&lt;br /&gt;
&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
(Condition that return true or false)? Value1:value2 
&lt;/p&gt;
&lt;p&gt;
Lets give the color of polygon02 based on condition if the glass is open or not &lt;br /&gt;
Color = Abs(coordinateSystem02.RotationAngle)&amp;gt;0?5:160 
&lt;/p&gt;
&lt;p&gt;
Exercise 9 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Generate Feature Type&lt;/strong&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;br /&gt;
1. Click on generate feature type -&lt;br /&gt;
2. select input from model and select the polygon01 , opening as input&lt;br /&gt;
3. output is selected automatically.&lt;br /&gt;
4. Click on replicated for both the inputs and set construction coordinateSystems as construction&lt;br /&gt;
5. Give a name - &amp;quot;facadeopening&amp;quot; and press OK.&lt;br /&gt;
Move the slider for opening and check the component - opens or not . 
&lt;/p&gt;
&lt;p&gt;
Now let's create the building fa&amp;ccedil;ade 
&lt;/p&gt;
&lt;p&gt;
&lt;br /&gt;
Exercise 9 
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://communities.bentley.com/photos/monika_prabhus_images/images/105561/original.aspx" border="0" /&gt;- Create plane 
&lt;/p&gt;
&lt;p&gt;
&lt;br /&gt;
1. create Plane01 - &lt;br /&gt;
2. With the plane as active place points - see first exercise on how to keep points - point06,point07,point08,poin09,point10&lt;br /&gt;
3. Create a bsplinecurve through these points using bsplineCurve-bypoints&lt;br /&gt;
4. Place point.ByNumberAlongCurve to subdivide the curve - point11&lt;br /&gt;
5. Create a polygon &amp;quot;polygon03&amp;quot; through these using polygon.bypointgrid with transpose of &lt;br /&gt;
Point11 = Transpose(point11)&lt;br /&gt;
6. &amp;nbsp;Replicate plane - Series(10,0,1)&lt;br /&gt;
See the change 
&lt;/p&gt;
&lt;p&gt;
&lt;br /&gt;
Now&amp;nbsp;use the the Generatefeature type that you have created in the above exercise 
&lt;/p&gt;
&lt;p&gt;
Click on facadeopening and give polygon03 as the input and press ok.&lt;br /&gt;
See that all the polygon are populated by the component. 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Example to Explain replication 
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://communities.bentley.com/photos/monika_prabhus_images/images/105556/408x375.aspx" border="0" /&gt; 
&lt;/p&gt;
&lt;p&gt;
........ will be continued &amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://communities.bentley.com/aggbug?PostID=105551&amp;AppID=1526&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>A bug Story - "Object reference not set to an instance of an object "</title><link>https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/monika_prabhus_blog/posts/a-bug-story-object-reference-not-set-to-an-instance-of-an-object</link><pubDate>Fri, 18 Sep 2009 18:14:00 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:3530876d-bef5-4aba-8eca-78c811581ef2</guid><dc:creator>Monika Prabhu</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/monika_prabhus_blog/rsscomments?WeblogPostID=84235</wfw:commentRss><comments>https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/monika_prabhus_blog/posts/a-bug-story-object-reference-not-set-to-an-instance-of-an-object#comments</comments><description>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;p&gt;
Ideally when this messege is thrown by GC or GCScript, or any (other software ) , as a user you need to know it's a bug that needs to be fixed . But what it means would be helpful for the user to find out what exactly did he do wrong or may be how to fix it .It simply means &amp;quot;I don't know the value&amp;quot; , this error is thrown when a value of &amp;lsquo;null' is assigned to a variable or property. And the code has not been checked for such errors. How could&amp;nbsp; this happen?&amp;nbsp; if a value assigned to a variable&amp;nbsp; is not returning anything but that would be considered as null. &amp;lsquo;null' means it does not exist. It does not mean &amp;lsquo;0' .'0' is a value. But null is not. That is how one find out if&amp;nbsp; a value is assigned or not, so by checking if ' X!=null', the programmer can find out if a value is assigned to a variable or not . 
&lt;/p&gt;
&lt;p&gt;
It would be good to know where it comes from. Let's understand the background. 
&lt;/p&gt;
&lt;p&gt;
Each and every feature in GC is an object of a Class
&lt;/p&gt;
&lt;p&gt;
For eg: Point is Class , point01 is an instance or object&amp;nbsp; of that class.&amp;nbsp; So what's a Class ? it's a way of organizing/grouping&amp;nbsp; the data. For eg: &lt;em&gt;Homo Sapiens&lt;/em&gt; is&amp;nbsp; a class, but &amp;lsquo;John' is an instance of that class . So the instance can have different value and attributes that differentiate from another instance. But would have similarities that club them together as a group and share some of those attributes. 
&lt;/p&gt;
&lt;p&gt;
There are lot of articles one could find on it or any object oriented programming book would explain it how. 
&lt;/p&gt;
&lt;p&gt;
In simple terms ,there is data expressed in terms of&amp;nbsp; variables , and there&amp;nbsp; are operations that can be performed on these data. So in general these needs to be used and accessed by the class itself and by other class that can perform operations
&lt;/p&gt;
&lt;p&gt;
On these data. Let's call the some of the operations are expressed in terms of functions. So in General a structure of a class Would be look like 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;code&gt;Class homoSapien&lt;/code&gt;&lt;code&gt;{&lt;/code&gt;&lt;code&gt;/*variables &lt;/code&gt;&lt;code&gt;&amp;nbsp;String name ;&lt;/code&gt;&lt;code&gt;&amp;nbsp;Int Age;&lt;/code&gt;&lt;code&gt;/* functions that can give information on homosapien&lt;/code&gt;&lt;code&gt;Public getName ();&lt;/code&gt;&lt;code&gt;Public setName();&lt;/code&gt;&lt;code&gt;Private setAge();&lt;/code&gt;&lt;code&gt;Private getAge(); / John don't want everybody to know his age so he keep it private J.&lt;/code&gt;&lt;code&gt;}&lt;/code&gt; 
&lt;p&gt;
&amp;nbsp;Public and Private helps to organize the data again. If its Private it can not be accessed by other classes.
&lt;/p&gt;
&lt;p&gt;
For more details and refer any object oriented programming book. 
&lt;/p&gt;
&lt;p&gt;
Once the class is created , it gives us a way of organizing the information. We have not used it yet. 
&lt;/p&gt;
&lt;p&gt;
For using it we create an object. 
&lt;/p&gt;
&lt;code&gt;homoSapien John; &lt;/code&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
This means that the john is variable of type homoSapien. So far we have not allocated any values to it .
&lt;/p&gt;
&lt;p&gt;
Now to store the value of this variable we need to assign memory (space) to it. How do we know how to do it .
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;code&gt;John = new homoSapien(); &amp;nbsp;// this assigns space based on the object type homoSapien.&lt;/code&gt; 
&lt;p&gt;
Not assigning the space and later on if that object is used could again cause it to take the value null.
&lt;/p&gt;
&lt;p&gt;
As there was no space allocated, the values assigned would not be stored. 
&lt;/p&gt;
&lt;p&gt;
Or other operations again could overwrite the memory or set it back to null. 
&lt;/p&gt;
&lt;p&gt;
After which the john can be assigned name . age and can be used any where else and filled with values.
&lt;/p&gt;
&lt;p&gt;
Now how that is effecting your GC example, if particular function returning null, it could throw the error. or when a feature fails, and the proeprty of which is asinged to another it could through the error. or if the user tries to access
&lt;/p&gt;
&lt;p&gt;
a feature that was never created at all, it could throw simialr error. Look out for it . Again, so if you see this error , then pls get back to us with the error report 
&lt;/p&gt;
&lt;p&gt;
Ah, now that was some information .... I hope useful for you .
&lt;/p&gt;
&lt;p&gt;
Now its time for me to end my week&amp;nbsp; .... TGIF 
&lt;/p&gt;
Monika 
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://communities.bentley.com/aggbug?PostID=84235&amp;AppID=1526&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>A story untold about bugs ….. </title><link>https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/monika_prabhus_blog/posts/a-story-untold-about-bugs</link><pubDate>Tue, 11 Aug 2009 14:38:00 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:065d4633-19c7-4d6e-859f-05a232378a85</guid><dc:creator>Monika Prabhu</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/monika_prabhus_blog/rsscomments?WeblogPostID=76731</wfw:commentRss><comments>https://communities.bentley.com/other/old_site_member_blogs/bentley_employees/b/monika_prabhus_blog/posts/a-story-untold-about-bugs#comments</comments><description>&amp;nbsp; 
&lt;p&gt;
As most of the countries are battling swine flu, the world continues its fight for one more bug ! 
&lt;/p&gt;
&lt;p&gt;
(as if we were out of bugs ). 
&lt;/p&gt;
&lt;p&gt;
Hey I'm out of my bugs&amp;nbsp; stock&amp;nbsp; , send me one more stock, I would like to import it from Swine this time. 
&lt;/p&gt;
&lt;p&gt;
As a software test engineer I could see a bug in anything and &amp;nbsp;everywhere .... 
&lt;/p&gt;
&lt;p&gt;
Birds ,chickens, human beings ... and why only swine . They should have software test engineer (STE)too.... We are trained to like bugs, love bugs ... yeah its our &amp;nbsp;job. But still the developer cannot see the bug ... all the time he would say &lt;em&gt;I can not see it .. where is the bug ... its not a bug.... Hey that is the new functionality I got for you&lt;/em&gt;..... 
&lt;/p&gt;
&lt;p&gt;
As a human being I'll feel lucky that we have medical practitioners and scientists. They &amp;nbsp;always come with 
&lt;/p&gt;
&lt;p&gt;
Some preventive measures, after everything happens, now they have masks for swine flu but not vaccines. As software test engineer I really wish if we could have mask for software bugs too..... and there I fall into my next dream ..... 
&lt;/p&gt;
&lt;p&gt;
I was installing that new software....(which every body is after.... ) &amp;nbsp;on a Monday morning. To start my job on Monday morning is &lt;em&gt;highly exciting( why I get excited I don't know)&lt;/em&gt; after a nice, weekend where I did &lt;em&gt;nothing&lt;/em&gt; ... they are the best weekends you know ? And now my job is to find all those bugs in the software, they never send a panel of doctors looking for all the swine flu viruses, why do the software companies, Send us test engineers after the bugs ... 
&lt;/p&gt;
&lt;p&gt;
Hey I know what I've got , I've a &amp;nbsp;&amp;quot;Software flu&amp;quot; , do they make vaccines for it ? do they have masks,&amp;nbsp;like S95, S100 ,S105. Why did not&amp;nbsp;NASSCOM announced a software flu pandemic till now ? 
&lt;/p&gt;
&lt;p&gt;
Software Masks&amp;nbsp; have been out of stock since the beginning of the software world. 
&lt;/p&gt;
&lt;p&gt;
if they were available I would gift them to software developers, so they don;t spread the bugs .... 
&lt;/p&gt;
&lt;p&gt;
While installing the software, a new window would pops up&amp;nbsp;saying &amp;quot;&lt;em&gt;hey buddy &amp;nbsp;there are couple of bugs I &amp;nbsp;installed on your system, how did you like that ? &lt;/em&gt;&amp;quot;), And&amp;nbsp; I say &amp;quot;&lt;em&gt;did I really wanted to buy this software?&lt;/em&gt;&amp;quot;. Is this a new way of keeping us busy while the software is being installed (I wondered). And it continues to ask ..... &amp;quot;&lt;em&gt;would you like to download the &amp;nbsp;masks too&lt;/em&gt;&amp;quot;, hey that is what I was looking for, but I did not know I can download them&amp;quot; .there are many varieties, I like that &amp;nbsp;&amp;nbsp;and there goes you install the mask , I select S100, and there I was happy there would not be any more bugs now. when the installation completedA window pops up saying there is only one side effect of installing the mask. ( oh, what is it, why do they always tell us only after installing the software , why not before ) ......... there is a bug in the mask. The software would not work if the mask is installed&amp;nbsp; .. it protects you 100 percent .... 
&lt;/p&gt;
&lt;p&gt;
Monika ( a full time bug finder) 
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="https://communities.bentley.com/aggbug?PostID=76731&amp;AppID=1526&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item></channel></rss>