Copying Directly Assigned 3D Resources from one Task to a second Task

I have a schedule imported from MS Project which is due to be replaced soon by one created and imported from P6. I'd like to be able to select two Tasks (one from the MS project schedule, and the second from the P6 schedule) and have the Directly assigned 3D Resources (assignment, appearance profile & 3D Path applied) copied across. I assume that this could be handled by a script but I'm only familiar with very basic scripting based on single task operations and I don't know where to start.

This would seem to be the most reliable way to semi-automatically handle the assignment transfer between tasks but I'm open to any suggestions on how to handle this?

I am currently on version 6.3.1.2 but looking to upgrade to a later version very soon.

Thanks in advance!

Parents
  • Hi Jim, 

    Please go through the following steps - 

    1. Run the following Scripts to copy Task IDs and Appearance Profiles of existing Resource Assignments as User Fields - 

      RESOURCE ASSIGN_UF("Old Task IDs", STRING, CONCAT_COMMA(TASK.USER_ID))
      RESOURCE ASSIGN_UF("Appearance Profile", STRING, ASSIGNMENT.STRING_PROPERTY("Appearance Profile"))



    2. Run the following Scripts to extract 3D Path properties - 
      RESOURCE ASSIGN_UF("3D Path", STRING, ASSIGNMENT.STRING_PROPERTY("3D Path"))
      RESOURCE ASSIGN_UF("Alignment", STRING, ASSIGNMENT.STRING_PROPERTY("Alignment"))
      RESOURCE ASSIGN_UF("X", STRING, ASSIGNMENT.STRING_PROPERTY("X"))
      RESOURCE ASSIGN_UF("Y", STRING, ASSIGNMENT.STRING_PROPERTY("Y"))
      RESOURCE ASSIGN_UF("Z", STRING, ASSIGNMENT.STRING_PROPERTY("Z"))
    3. Import the new schedule and identify properties that are common between both schedules. Eg, Activity IDs are the same.

    4. Use Resource to Task Auto Matching to assign the existing Resources to the new schedule Tasks. Here is an example setup using Activity IDs as the common property and Install profile - 


      You can review this video to learn more about Auto Matching.

      The above is possible to do through Scripts as well, but Auto Matching is much more efficient with the processing time.
    5. Edit the following scripts to change Appearance Profiles in bulk -

      TASK.ASSIGNMENT(RESOURCE.UFV("Appearance Profile")=="Pour Concrete") SET_PROPERTY (PROPERTY("Appearance Profile"), ALL_USE_PROFILE( NAME == "Pour Concrete"))

      TASK.ASSIGNMENT(RESOURCE.UFV("Appearance Profile")=="Install Steel") SET_PROPERTY (PROPERTY("Appearance Profile"), ALL_USE_PROFILE( NAME == "Install Steel"))


    6. Run the following scripts to assign the corresponding 3D Paths - 

      TASK.ASSIGNMENT SET_PROPERTY (STRING_PROPERTY("3D Path"), RESOURCE.UFV("3D Path"))
      TASK.ASSIGNMENT SET_PROPERTY (STRING_PROPERTY("Alignment"), RESOURCE.UFV("Alignment"))
      TASK.ASSIGNMENT SET_PROPERTY (STRING_PROPERTY("X"), RESOURCE.UFV("X"))
      TASK.ASSIGNMENT SET_PROPERTY (STRING_PROPERTY("Y"), RESOURCE.UFV("Y"))
      TASK.ASSIGNMENT SET_PROPERTY (STRING_PROPERTY("Z"), RESOURCE.UFV("Z"))

    Hope this helps!

  • Thanks Arpit,
    This has given me many ideas on how to potentially carry this out.
    I replaced the OldTaskID resource value with the common new/old task values else the automatching doesn't work.

    Is there any way to populate the Resource userfields (appearance profile, 3dpath etc) with the information held from the assignments of a single selected task? The method you have supplied pulls all the assignment data for every task it is assigned to which makes reassigning the correct appearance profiles tricky.

    Many thanks for the help on this Arpit

  • Arpit,

    This is helpful thank you.
    The script seems to dump each value into every Resource though. Is there a way of setting the Resource UFV to just what is applied to that Resource for that Selected Task?

    It looks like ASSIGNMENT provides all the Resources information for the Task instead of the what is applicable for a single Resource and it's properties, is that the case?

    I have attached a screenshot of the result of the script, you can see the Arguments applied to all of the Tasks Resources loaded into each Resources Appearance Profile instead of a single Appearance filter per Resource (as hand written in blue)

    Is there a method of pulling out the details of that single Resource as applied to the Task, rather than the full dump of all Resource Assignments?

    Thank you for your time

  • Jim, 

    Sorry, totally overlooked that! Select the Tasks and Resources assigned to it, then run the following script - 

    RESOURCE(SELECTED) ASSIGN_UF("Appearance Profile", STRING, CONCAT_COMMA(ASSIGNMENT(TASK.NAME == TASK(SELECTED).NAME AND RESOURCE.NAME==RESOURCE(SELECTED).NAME).STRING_PROPERTY("Appearance Profile")))

  • Arpit,
    Thank you very much for that script. I have now assembled them into a set of scripts that carry out exactly what I need, I just have two questions:
    1. I have around 200 Appearance Profiles in use, is there a method to output a list of all Appearance Profiles contained in the SP file? A Ctrl+C on the selected list won't paste out to a a text editor.
    2. Is there a way to set a script to a toolbar button or shortcut rather than going through the Script Editor?

    Thanks again, Arpit.

  • Hi Jim, 

    1. No easy way of doing this. A crude workaround would be to assign a Resource each for an Appearance Profile and copy the data from a tabular column.
    2. Again not possible, but would recommend voting for this idea - https://construction.ideas.aha.io/ideas/SYNIDEAS-I-21
  • Arpit,
    1. I tried this approach like this, a script to assign all appearance filters to all resources with CONCAT_COMMA to pick everything up, a mass copy/paste into excel, TEXTSPLIT to separate entries, combine all profiles into one column by TOCOL and then UNIQUE. Gives a list of all profiles currently in use. It's slow, but on the plus side it's a one-off operation.
    2. I will submit an entry to the suggestion page.

    Thanks very much for providing all the help, Arpit
    Jim

Reply
  • Arpit,
    1. I tried this approach like this, a script to assign all appearance filters to all resources with CONCAT_COMMA to pick everything up, a mass copy/paste into excel, TEXTSPLIT to separate entries, combine all profiles into one column by TOCOL and then UNIQUE. Gives a list of all profiles currently in use. It's slow, but on the plus side it's a one-off operation.
    2. I will submit an entry to the suggestion page.

    Thanks very much for providing all the help, Arpit
    Jim

Children
No Data