Posts

Showing posts from 2018

New revit snooper for 2019 available!

http://thebuildingcoder.typepad.com/blog/2018/04/revitlookup-2019-and-new-sdk-samples.html

New revit tools available!

http://thebuildingcoder.typepad.com/blog/2018/04/revitlookup-2019-and-new-sdk-samples.html

Lubuntu 14.x RDP and accessing the home desktop aka Desktop:0

Installed tight VNC using this as a guide here:

AskUbuntu https://askubuntu.com/a/143113/824647

The piece I had been missing was the port. in a multi user environment the port also connects to the desktop. Desktop 0 (zero) is the default desktop. so I set my INI file accordingly to ask5900 so it will ask but prepopulate with the desktop zero which passes on port 5900.

RealVNC setup1. Uninstallation of the default Ubuntu VNC server (Vino): Go to: System --> Administration --> Synaptic Package Manager Search for the "Vino" package, Mark For Removal, Apply. 2. Installation of TightVNC and XRDP: While you are using Synaptic Package Manager, seacrh for "tightvnc" package (be careful, not "xtightvnc") and Mark For Installation. Likewise, search for the "xrdp" package and Mark also For Installation. Apply. PS: if you want, you may discard any other "vnc" package that you don't need! 3. Configuration of XRDP (Optional) Open a terminal …

Introducing Sourcelist: Promoting diversity in technology policy

Introducing Sourcelist: Promoting diversity in technology policy:



It is a good idea- I have a similar idea for a national database of all folks and their job histories, *proven capabilities*, recommendations, etc. A database not just for women but to hire people on *availability*, *capability* and *merit* regardless of any other label.

Justice is supposed to be blind- Why shouldn't hiring be based solely on capability with no other available data? Human beings will likely have one bias or another- until those are weeded out, there must be a system to provide equity.

These next words are painful; and I *do* believe in the idea of affirmative action- however, the current method and application of Affirmative has very mixed results. Forcing the break down of the walls of segregation and bigotry, discrimination and racism, etc. is itself a forced discrimination which I have seen many take advantage of to creating mediocrity through entitlement. There are those skating through on the…

Forge collaboration for fm

SPINALCOM, using Forge technology, is addressing EDF's challenge by providing the FM team with a BMS Supervisor (control center) that contextualizes the data in their BIM model and intelligently filters alarms to save time on each alert, regardless of the silo it comes from. http://labs.blogs.com/its_alive_in_the_lab/2018/05/spinalcom-is-enabling-collaborative-real-time-bim-level-3-applications-for-all-stages-of-a-facilitys.html

py.RegExp.py

importre##Import for re or Regular Expressions###INPUTS (Two Inputs- 0 and 1- ad inputs to python node to correspond with th [+] button)StrList=IN[0]##Simple list of items to matchregexExp=IN[1]##Regexp string to match ##see https://docs.python.org/3.3/howto/regex.html "Regular expressions in dynamo" and ##https://regex101.com for regular expressions 101 testing##OUTPUTOutlist=[]##Outlist TRUE if match is find for each item in list###Initialize RegexpRegex=re.compile(regexExp,re.IGNORECASE)###The actual RegExp compare for each item in the listforiteminStrList:## For each item in the list run a match Outlist.append(Regex.match(item)isnotNone)##If match is not NONE then it is a match (true) - else (false)- append that to the list for each itemOUT=Outlist##Set output to results

PY.RegExp.sub.py

importre##Import for re or Regular Expressions###INPUTS (Two Inputs- 0 and 1- ad inputs to python node to correspond with th [+] button)StrList=IN[0]##Simple list of items to matchregexExp=IN[1]##Regexp string to match ##see https://docs.python.org/3.3/howto/regex.html "Regular expressions in dynamo" and ##https://regex101.com for regular expressions 101 testingRegExpSub=IN[2]##Regexp substitution from IN[2]##OUTPUTOutlist=[]##Outlist TRUE if match is find for each item in list###Initialize Regexp###The actual RegExp compare for each item in the listforiteminStrList:## For each item in the list run a match result=re.sub(regexExp,RegExpSub,item,1)Outlist.append(result)##If match is not NONE then it is a match (true) - else (false)- append that to the list for each itemOUT=Outlist##Set output to results

REvit CAche parser for C4R files to ID Revit Files

PublicfsoAsNewFileSystemObjectPublicoUsrFolderAsFolderPublicoRvtFolderAsFolderPublicrversAsIntegerPublicifpAsStringPublicsfpPublicGUID_FILESAsArrayListSubLinkToJournalFiles()SetGUID_FILES=CreateObject("System.Collections.ArrayList")'array list to manage file path, file name & CSLID pairs Setfso=CreateObject("Scripting.FileSystemObject")''Current user (Or all users?) ForEachoUsrFolderInfso.GetFolder("C:\users").subfolders''Scan for versions of Revit ifp=oUsrFolder.Path&"\AppData\Local\Autodesk\revit"Iffso.FolderExists(ifp)ThenForEachoRvtFolderInfso.GetFolder(ifp).subfoldersSetsfp=regexp(oRvtFolder.Path,".*\\(Autodesk Revit .*)\\{0,1}")Ifsfp.count>0ThenParseRevitFolder(oRvtFolder)NextEndIfNextoUsrFolder''''''''''' ''GUID_FILES is a list of strings of filepath > GUID > and corresponding actual filename SubParseRevitFolder(RevitFolder)FilePath=RevitFol…
Purge Printers from Windows 7 VBS
''''''''''Execute subs CheckArgsCleanupPrintersdimSleepTime''globals for sleep time in Milliseconds dimquiet''globals for no dialog dimMsg''Message string '''''''''''----------------------------------------------------- subCheckArgs()''push args into array ReDimargs(WScript.Arguments.Count-1)Fori=0ToWScript.Arguments.Count-1args(i)=WScript.Arguments(i)&""NextForargCt=0toubound(args)iflcase(trim(args(argCt)))="\sleep"thenargCt=argCt+1SleepTime=int(args(argCt))msg=msg&vbCr&"\sleep="&int(SleepTime)endififlcase(trim(args(argCt)&""))="\q"orlcase(trim(args(argCt)&""))="\quiet"thenquiet=truemsg=msg&vbCr&"\quiet="&quietEndifNextifmsg>""thenmsg=msg&vbCrendsub'''''''------------------------…

Front loading link names for future redirects

If we create dated front loaded link names for web pages and Google search we can use those links as received by the server in a request to forward the links to correct pages. A more complex process would snapshot pages with a GUID and their links and manage the connectivity for redirects to the corrected content or archive of the pages.

py. pair objects by assembly code to workset

importclrclr.AddReference('ProtoGeometry')fromAutodesk.DesignScript.Geometryimport*#The inputs to this node will be stored as a list in the IN variables.Worksets_all=IN[0]Elements=IN[1]##Regex to get the worksets matching the assembly criteria##https://stackoverflow.com/questions/7014674/in-python-how-do-i-remove-from-a-list-any-element-containing-certain-kinds-of-cimportre##NOTE This is REgular EXpressions - a powerful pattern matching languageregex=re.compile(r"([abcdefglABCDEFGL]\d{2})|([Ww]orkset 1)",re.IGNORECASE)## ABCD follow by 2 numbers #L added for airport special##Iteration over list i[0] is NAME to comare#Worksets = filter(lambda i: regex.search(i[0]), Worksets_all) ##Also worksWorksets=[iforiinWorksets_allifregex.search(i[0])]##Each list item [0] soud be namestdout=list()forelementinElements:##Iterate element listforworksetinWorksets:##iterate workset listifelement[0][:3]==workset[0][:3]:##First 3 characters match between workset and assembly code we hav…

Denver jobs plentiful, skilled labor lagging.

https://www.linkedin.com/jobs/blog/linkedin-workforce-report-february-2018-denver-co
https://youtu.be/4loraLRwRP8

Walabot DIY Smart Stud Finder Sees 4 Inches Into Your Walls | Walabot

Login

Login:

Sound Design Strategies for Architectural Acoustic Design

Webinar Available On-Demand'via Blog this'

Re: browsing model files in the cloud (A360 C4R) - Autodesk Community

Re: browsing model files in the cloud (A360 C4R) - Autodesk Community: "/ get cloud document/model and project name
string docName = CollaborateUtils.DocumentFileName(e.Document);
string modelName = null;
string projectName = null;
var docNameSplit = docName.Split(new char[1] { '/' }, StringSplitOptions.RemoveEmptyEntries);
modelName = docNameSplit.Last();
projectName = docNameSplit[1];
// find the current project and model id
var cloudProjects = CollaborateUtils.GetCloudProjects(e.Document);
var currProject = cloudProjects.FirstOrDefault(cp => String.Equals(cp.Name, projectName, StringComparison.CurrentCultureIgnoreCase));
var models = SynchronousManagementClientAccess.GetModels(currProject.Id);
var currModel = models.FirstOrDefault(m => String.Equals(m.Name, modelName, StringComparison.CurrentCultureIgnoreCase));
// publish to BIM360 cloud
VersioningClientFactory versioningClientFac = new VersioningClientFactory();
IVersioningClient versioningClient = versioningCl…