Adding Shared Parameters to a family

Hi All

I have been asked by someone in the office to produce a script that would allow him to add a number of parameters (from a shared parameter .txt file) to a Revit family in one go (I believe he is updating our Revit Family Library, so will have a lot to do).

I have seen similar posts but they all seem to be adding the shared parameters into a project and not a family.

I am still relatively new to Dynamo so I apologise in advance if I am not up to scratch.

If anyone could point me in the correct direction or shed any light on the topic it would be much appreciated.

Cheers

Jordan

3 Likes

Thanks @erfajo

Unfortunately I cant seem to get it to work.

The files are opening but close straight away without the shared parameters being added.

I have copied the finished script from your last post, so donā€™t understand how an error has occurred.

Thank you @erfajo !

Not meaning to push my luck but could you tell me where to find the Directory. ContentsAll node that you have used within your graph.

I donā€™t seem to have it within my downloaded packages.

Thanks again for all of your help!

Thanks,

I have run the graph and it seems to be encountering a problem. the add.shared parameter node has given me a warning saying that there is a problem with line 33 in the code.

Is there an obvious reason why this is happening? What is that line referring to?

I apologise once again at my lack of Dynamo / Coding knowledge.

Please see screenshot of warning message.

No problem- we donā€™t normally have just the one but as itā€™s a test I didnā€™t want to overload it.

I have added another file to the folder. Unfortunately the result is still the same :confused:

Unfortunately it is still not working.

Not sure what I have done wrong :confused: the same error message is coming up.

I have doneā€¦ Guess what! a new error message.

The message this time shows a problem within the TransactionManager.Instance.EnsureInTransaction(doc) line.

Thank you ! it all turned into a blur up until that last post.

I have managed to get it to work (with your help :stuck_out_tongue:) when adding a single parameter but unfortunately it still doesnā€™t want to work when adding more than one.

Obviously just by doing it one parameter at a time will save a large amount of time but if I can fix in to get them working in one process then that would be great.

Hello!

disclaimer: New to dynamo and probably the worst thing to tackle but duty calls!

I have been trying to follow this dynamo code for the last week and have been unable to get it remotely working. I am on RVT 2017 with dynamo. 1.3.0. I have tried using dynamo by it self, with a family open, with a project open, with a project and family open, or a new family from a template saved in a different location and have been completely stumped.

I am unable to even get it to recognize a folder for some odd reason past the first node.
is this something that need to opened and closed multiple times? as if the nodes need to be switched in a specific order?

I am unable to upload any files other then the screen cap due to being a new user.
The .dyn I am using Adding Shared Parameters to a family (23.2 KB) BulkUpgrade-sharedparameter.dyn

The folder I have the 2 families in (Family1.rfa and Family2.rfa) is called ā€˜fami testā€™ and is located on the desktop. The .dyn is being run from the desktop (have tried in MyDocuments, Downloads, even off a server, and no luck)

Is there a specific order that this needs to run in? am completely lost at this point but not giving up that fast as I have over 500 families to add these parameters to! this is an old smaller .txt shared parameter file am testing with. The current one is about 3 times as large.

Thanks to anyone who can help!

This is a Revit shared parameter file.

Do not edit manually.

*META VERSION MINVERSION
META 2 1
*GROUP ID NAME
GROUP 2 Site Data
GROUP 3 Owner Information
GROUP 7 Project Scheduling
GROUP 8 MEP Schedules
GROUP 9 ARCH Schedules
GROUP 10 Structural
*PARAM GUID NAME DATATYPE DATACATEGORY GROUP VISIBLE DESCRIPTION USERMODIFIABLE
PARAM 34223f01-bd95-490b-b129-48cc553fa3f1 C.B. TEXT 8 1 1
PARAM 8fa3ee03-2c92-4fdf-b859-38df65478709 Remarks TEXT 7 1 1
PARAM ba5da615-a1e0-44e6-905a-f7825623f442 MCA ELECTRICAL_CURRENT 8 1 1
PARAM 5d060219-5f78-4335-b79d-26788a63532c Lot Number TEXT 2 1 1
PARAM 43c0621e-8960-45e8-98f7-ce6458bea906 Governing Agency TEXT 2 1 1
PARAM ee8e9625-fdf3-4dc9-92fe-5382c40fcdb3 Vent Diameter LENGTH 8 1 1
PARAM 04a1902a-48f4-4e5b-ab46-bcff5a58ff79 Ambient Tempature HVAC_TEMPERATURE 8 1 1
PARAM 8831502e-9dcf-46a0-adac-edec88c7ef7d Length LENGTH 7 1 1
PARAM 2a421b2f-16b3-4e61-a485-975a14b72484 Zoning TEXT 2 1 1
PARAM 13475232-55ef-420d-bb3b-8e839e50389c Fax TEXT 3 1 1
PARAM 6726243b-505c-47ec-8b3d-cd138de47b78 Usage TEXT 7 1 1
PARAM 42ada13c-b44c-47e0-b0cb-d064a7bafa3f WB HVAC_TEMPERATURE 8 1 1
PARAM 30f16f44-ecce-4efc-88e1-a086df7ab2ef Address TEXT 3 1 1
PARAM 957c8944-2102-4b06-aa11-18833b795f78 Project City TEXT 2 1 1
PARAM ce83cd46-ed09-4ad7-ba58-7b3cd641e822 Exhaust Collar Qty INTEGER 8 1 1
PARAM 878e4b50-31e2-4531-92b9-329f32fd98c1 Phone TEXT 3 1 1
PARAM bdcfcc51-cf4c-475f-871e-2d15040ca098 Supply Air Flow HVAC_AIR_FLOW 8 1 1
PARAM 9b76fb54-c6e1-46cb-b399-541066e51357 Drive Arrangment TEXT 8 1 1
PARAM e59aed55-3788-497e-b7ad-360b16e642fe Noise Criteria NUMBER 8 1 1
PARAM 561e6d59-fd00-4efd-b7fa-f59c837edda3 Project Area TEXT 2 1 1
PARAM 8400455a-cb83-4433-a41b-16f2b0137060 Cooling Capacity HVAC_AIR_FLOW 8 1 1
PARAM b67a4e6e-b1b1-4a46-a6e2-690a0a62e2b0 EER NUMBER 8 1 1
PARAM 47a61270-9f73-4733-869b-e87e314bbfd3 MOCP ELECTRICAL_CURRENT 8 1 1
PARAM b865f570-516f-4d65-8619-156dd4864f55 Exhause Collar Size TEXT 8 1 1
PARAM 6fa53b72-c8dd-4535-9092-26744ed5d527 Unit Weight INTEGER 7 1 1
PARAM 18d88e73-e746-40da-8776-72ccd4f12de8 Date Of Survey TEXT 2 1 1
PARAM 1d54aa74-16d0-4fd1-85ae-c7948dfa519a Key Note Text TEXT 7 1 1
PARAM cdf08879-7ac0-44eb-b976-d9ebbc63a438 Moisture Removal INTEGER 8 1 1
PARAM 58f6f680-c435-422a-b64e-ea159a00e4d5 Exhaust Air Flow HVAC_AIR_FLOW 8 1 1
PARAM 4454338f-e372-4c98-a9f8-8eb91522234b Number of Poles NOOFPOLES 8 1 1
PARAM f47f5792-9d27-4e3e-a6d1-11b18e01f8a7 District Number TEXT 2 1 1
PARAM c83ca094-6efc-4fc7-9c75-61d8ff0314b0 Height LENGTH 7 1 1
PARAM 9ccc599b-ca12-44d5-a49e-36f367736164 Width LENGTH 7 1 1
PARAM 77ec639f-6151-4e3c-aef1-7b37bbacf7c5 Motor HP NUMBER 8 1 1
PARAM 19c14fa0-5162-45b2-8a8f-195d82354a41 Tons NUMBER 8 1 1
PARAM 4e393ea3-0a57-40bc-8d47-fe25900da83d Waste Diameter LENGTH 8 1 1
PARAM 5e8276a5-e8d9-473b-99d0-d7d816b20560 Supply External Static Pressure HVAC_PRESSURE 8 1 1
PARAM 70bef0ae-aeb3-4d41-a9a4-6ae125ce174f MIN O.A. CFM HVAC_AIR_FLOW 8 1 1
PARAM eddaffb7-62bc-4798-838c-fbc8336575a0 HW Diameter LENGTH 8 1 1
PARAM 2ef8d4be-e806-413b-ba8c-fdc513936da3 Sensible Cooling Capacity HVAC_COOLING_LOAD 8 1 1
PARAM a42631bf-ce1d-43e5-9a3c-ca0371df7c12 Project Juristiction TEXT 2 1 1
PARAM 3f24aec4-3627-49f2-be93-7672d81430f8 Wp NUMBER 10 1 1
PARAM 7bef19c6-1249-4a9d-8348-5a10c983ab05 Voltage ELECTRICAL_POTENTIAL 8 1 1
PARAM 718f26cf-8904-412c-9e41-49eebf2b93d6 Amps NUMBER 8 1 1
PARAM 21a919d4-a833-4319-b912-bb6a399cfcfb Phase INTEGER 8 1 1
PARAM a2b945d9-ef15-422f-a6ad-20d9225f2caa CW Diameter LENGTH 8 1 1
PARAM 9154f7db-aba6-4c0c-9183-dc33e0577aae Finish TEXT 7 1 1
PARAM 428b6de2-afb4-4726-bc45-524b40abfa18 Area Of Disturbance TEXT 2 1 1
PARAM a91cd5e6-7004-4d5c-ba8d-fd6d47e1056c OBD YESNO 8 1 1
PARAM d8ae1ee9-f69c-4b43-a9d5-ec44099a1a44 Supply Fan Blade Speed NUMBER 8 1 1
PARAM 41af48e9-647c-4795-9057-8dd43fb36276 Electric Heat kw LENGTH 8 1 1
PARAM c4cc96ef-4f7e-4b16-a9d8-6c120b21f93c P.I.N. TEXT 2 1 1
PARAM d321a6f4-8e6a-4c1e-af14-c36c4d62dabc MAX O.A. CFM HVAC_AIR_FLOW 8 1 1
PARAM e1e966f5-0ef9-4066-9975-e844653a75f4 Name TEXT 3 1 1
PARAM 2a63fffa-ddee-4abd-824b-763d6cac083d DB HVAC_TEMPERATURE 8 1 1
PARAM ca1f3cfe-b8b8-4a6a-a757-4f6c1a462a58 Controlled By TEXT 8 1 1

Iā€™ve been having zero luck with any of the Directory.Contents nodes lately (OOTB and custom). Has something changed?
I was able to get Python to find files for me though:

from System.IO import Directory, SearchOption

dir = IN[0]
searchstring = IN[1]
foundfiles = []

if Directory.Exists(dir):
	dirfiles = Directory.GetFiles(dir, ".", SearchOption.AllDirectories)
	for file in dirfiles:
		if searchstring not in file:
			continue
		else:
			foundfiles.append(file)
	OUT = foundfiles
else:
	OUT = "Directory does not exist."

Hi just wanting to know why I am getting the below warning -

image

It runs and loads for a time and then the warning pops up.

I have checked the families and the parameter has not gone across.

Thanks.

Maybe best to start a new topic and reference this as this topic was solved. We will try to answer on your new topic to make things tidy. Tnx

1 Like

Is there a walk through for how to use this script properly? Iā€™m struggling to enter the correct values and what exactly they relate too.

thanks erfajo. If you would be kind of enough. Could you tell me where Iā€™m going wrong below or not clicking too?

Dynamo 1.3
Revit 2017.2

2 Likes

you sir, are amazing! thank you heaps for the help and understanding :grinning:

1 Like

Iā€™m experiencing the following problems:
ā€œRun startedā€ not giving a response
Search inside the directory not giving a response
(see picture).
Immagine 1

And also several crashes never experienced before after iinstalling the edu packageā€¦

How many files do you have in that root folder and are they all read/write capable?

Can you tell me what I am doing wrong please? I get Run completed with warnings "One or more of the input types are not matching. Couldnā€™t find a version of CloseDocument that takes arguments of type (string.bool)