Scripting in GIMP – some good places to get started

First, I want to scream. It is a language like LiSP which I have avoided for some time. Now I have to use it. Next, there might be some repsite if I decided to make any of my items a plugin as I get to use C. Rewriting it will be a pain.

Here are the links so far:

Navisworks COM API how to programmatically get all properties

Finally – it took a while but here is a generic routine in VBA (Excel) that allows you to find all the properties. I have my own class that “just works” called findNavis, but this should help others on how to get and list [to the debug window] all the tabs of the properties window in Navis.

I want the dwg (LcOaNode::SourceFile) and the AutoCAD handle (LcOpDwgEntityAttrib::Value) and the stuff in brackets is the attribute name::property name. Here is the vba code (I did this from Excel) Continue reading

pfSense bandwidth limiting guest vlan wifi and scheduling. pfSense never ceases to amaze me.

So, my trusty-dusty Unify networks coupled with the amazing pfSense, are all working SUPER well. By allowing wifi for the guests at one of my clients has hosed another initiative – live streaming FROM that same facility. Note how those 2 things fight eachother? Options? None as it is located in a residential neighborhood and T1 bandwidth and any faster BW are not available. We are with the phone provider and the cable provider will give slightly better BW at twice the price (eg 1.1 the BW for 2x the price).  Therefore since we have pfsense, we need to learn about pfSense bandwidth limiting and scheduling.

So getting another Phone line adsl is an option for $620 / year, but lets BW limit the guest network first, and get some stats/quality metrics on the video streaming first as that is just a good idea. Here are 2 links – just follow them and add a 2nd IDENTICAL firewall rule for VLAN traffic, but it only kicks in when the streaming is going (always the same time each week) and put the limiting in place.

Getting XYZ or Navisworks Insertion Point through automation .net or VBA

Here are the steps and sample code I made to learn about getting the navisworks insertion point or midpoint of a component. I know how to find the component by its id (I am using AutoPLANT component id), now I know how to find the midpoint of that component or the location of that component.

Steps to find the navisworks insertion point

  • Accessing the file units and location information using Navisworks .NET API
  • A pdf primer on Navisworks basic objects and how those objects are related (key resource)
  • I made some VBA to put pause points and look at objects as they went by. In short
    • start with a path object – in this code example – the currently selected objects (so select one to keep it easy!!!)
    • Pause points/Interest points are the Beep lines which might have been replaced with Debug.Print lines
    • In our example, I am looking for AutoPLANT components with a unique id that would similar to “AT_HSHF31AB_2Q7” (the 2nd set of strings is the doc id and the last part is the unique AutoPLANT part id in that doc)
    • look for through the code below for  *********** ANSWER *********** to get where we get the Navisworks Insertion or midpoint of our component

Continue reading

Screen Capture for demonstrations software – Windows

There are a few “free” lists but there is also a few links of people’s favorites. I have a friend looking into this as well and here is the list we have come up with. I will be trying the ones marked in ** (Jing is too simple (really simple to use too!!). Then I tried Recordzilla and I didn’t try #3 – sadly – I got my work done with Recordzilla and the total full featured price is $43 – should I look further?) :

GetObject(,”classNameHere”) only works the first time. Why?? A look into the ROT table, Navisworks and other apps too that use ActiveX

Hours of frustration. So I have all these great plans to develop my “click here and view in Navisworks” ideas. Dozens of good plans and I am thwarted by it only running once. Googling, there are other people with other apps that “only work once” when you are connecting to RUNNING instances of them via ActiveX.

Bottom line: when using GetObject “Navisworks.Document.10”) and ensuring you can connect to the 2nd, 3rd, 4th, etc. times, you have to choose ‘document.StayOpen’. This sets a special flat in the ROT table (keep reading) to tell it not to go away when you are done with it. You application wil LOOK like it is running and it is,  but the reference to it being ‘grab-able’ is gone. Microsoft applications have Application.UserControl = True, which does the same thing, this (on hour #3 of researching what was going on) inspired me to see if navisworks had anything. Nope, nothing – it didn’t work – EXCEPT for the StayOpen is not a property but a method that sets this flag to True. Holy smokes – it all works and every time now. I CAN COMPLETE MY DREAMS I HAVE IN MY HEAD NOW!!! The motivation, is that we have to give a presentation to the customer’s VP. No pressure 1 week before we are doing this. I will be working the weekend to impress the client’s VP and having a job for the next little while.

Links and learning  to follow – you can stop reading now if you wish.

Continue reading

Other SEO Keyword tools – Google Keyword Planner is a little dead

First, I got an email from Yoast and a friend (one of my web-clients too who does Short Term Missions Training and cross cultural training for businesses) asked me about keywords for his new website. I told him – “ask people who are your fans to tell you keywords. Ask your customers. You MIGHT know your keywords- but others will more likely know your keywords”. Well, after reading some books, I was correct – this is sound advice. Now – some links to help you ….

Here is my short list of instructions … I think my friend has a really good chance at rating high Continue reading

I think making a dll in TSQL might be easier than a custom function

What I am trying to do is feed in a small string and it will filter some values out for me. This might be easier to do in visual studio than in a TSQL function. Here are some notes on my findings.

I am simply feeding in “ABCD” and it will match the 2 letters AB and CD and filter out the corresponding values. So if I feed in ABCD from _ABWXYXCD_ITEM1_ITEM2_ITEM3_ITEM4_ then I expect the output _ABCD_ITEM1_ITEM4_

Simple right? Phhh! Not quite in TSQL. Super easy in c#, but I have never made a dll before.

Here is a start to my TSQL that would be part of a function. I thought to myself – lets stop while we are ahead… Continue reading