pyRevitMEP
pyRevitMEP copied to clipboard
usage of RoomToSpace [BUG]
Describe the bug A clear and concise description of what the bug is.
I tryied to use fucnction RoomToSpace for the first time. But there is no manual for it. How to use ? Do you have to copy rooms to your own model and create spaces before use this function ? Or You have to create just spaces and function will suck data from rooms from linked model ? Or does function do all above mentioned on its own ?
do I have to have selected Rooms before application of functions ? or do i have to have selected spaces ? or do i have to have selected both - spaces + rooms before application function ?
ot of questions arise when the error window occurs and user sipmly is not sure if he did not use the proper way
To Reproduce Steps to reproduce the behavior:
- no matter the questions above, i tried to copy rooms from linked model to my model and ad afterwards i created the spaces (only on one level from more leveled model-building).
- I clicked RoomToSpace function
- error occured
Expected behavior room data from rooms would be copied to spaces
Screenshots
error :
IronPython Traceback:
Traceback (most recent call last):
File "C:\Users\Richard_dell\AppData\Roaming\pyRevit\Extensions\PyRevitMEP.extension\pyRevitMEP.tab\Data.panel\RoomToSpace.pushbutton\script.py", line 154, in
Script Executor Traceback:
IronPython.Runtime.Exceptions.TypeErrorException: 'DocumentSet' object is not subscriptable
at Microsoft.Scripting.Runtime.LightExceptions.ThrowException(LightException lightEx)
at Microsoft.Scripting.Runtime.LightExceptions.CheckAndThrow(Object value)
at Microsoft.Scripting.Interpreter.FuncCallInstruction2.Run(InterpretedFrame frame) at Microsoft.Scripting.Interpreter.Interpreter.HandleException(InterpretedFrame frame, Exception exception) at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame) at Microsoft.Scripting.Interpreter.LightLambda.Run3[T0,T1,T2,TRet](T0 arg0, T1 arg1, T2 arg2) at System.Dynamic.UpdateDelegates.UpdateAndExecute4[T0,T1,T2,T3,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3) at IronPython.Runtime.Types.LateBoundInitBinder.FastInitSite1.CallTarget(CallSite site, CodeContext context, Object inst, T0 arg0)
at System.Dynamic.UpdateDelegates.UpdateAndExecute3[T0,T1,T2,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2)
at IronPython.Runtime.Types.PythonType.FastTypeSite1.CallTarget(CallSite site, CodeContext context, Object type, T0 arg0) at System.Dynamic.UpdateDelegates.UpdateAndExecute3[T0,T1,T2,TRet](CallSite site, T0 arg0, T1 arg1, T2 arg2) at Microsoft.Scripting.Interpreter.DynamicInstruction4.Run(InterpretedFrame frame)
at Microsoft.Scripting.Interpreter.Interpreter.Run(InterpretedFrame frame)
at Microsoft.Scripting.Interpreter.LightLambda.Run2[T0,T1,TRet](T0 arg0, T1 arg1)
at IronPython.Compiler.PythonScriptCode.RunWorker(CodeContext ctx)
at PyRevitLabs.PyRevit.Runtime.IronPythonEngine.Execute(ScriptRuntime& runtime)
Versions (please complete the following information):
- Revit: 2022.1
- pyRevit: [e.g. 4.7.4, pyRevit dropdown -> About and take a screenshot]
-
pyRevitMEP [e.g. c98e12c, pyRevit dropdown -> Extensions -> Last commit column (this is the hash of the last commit)] 92d9398
-
rocket mode activated : Yes
-
ironpython engine : 2.7.7
-
cpython engine : 3.8.5
Additional context Add any other context about the problem here.
Hello, tested on Revit 2024.
I opened RoomToSpace function window.
I did set source attached model, set my target model where i have "new" spaces.
I did set parameters to copy from rooms of source model to spaces onto my target model .
..i clicked OK.
nothing happened :(
I wish this would be repaired
This function would require some better explanations… You actually need to use actual parameter names in your own language. It still require more polish but I confirm it works on Revit 2024.
Little first improvements over here: e5bd72c
Dear Cyril. Thank You for the response and interest to solve this.
I confirm, that on my version (actual updated version of 2024.3) nothing happened . I think last time i tested it on my home destkop. Now i am testing in office desktop... generalry i may test it on 6 different desktop workstations in case needed.
Nothing happens after i clicked on OK after inputs set according the window below. I am not sure what are you talking about regarding "parameter names in my own language". I generally always use english installation of revit and also the ENG language, setting before starting.
So How can i use my language parameters name ?
ps.: i have lot of rooms in attached building object. I just tested this case only on one floor where i created the spaces (in no other floor of my model are newly created spaces)
What I am doing wrong ?
Hello @RichardPinka,
I see the issue in your input. The example fouled you. The «%» sign should not be place before the parameter name or separator. Please update pyRevitMEP and try with following in Snowdown Towers Sample HVAC:
Source input:
Number - Name
n° Number | name: Name
Target:
Comments
Name
You should see it working as expected.
I hope usage will be more clear now.