I do not know your purpose in development and the situation you are facing, but the ledger dimension to be copied has an account. You can use it.
Instead of creating a new ledger dimension, you can merge with the values ​​you want to change.
There is also a white paper as below, I share the relevant part. You can review the document for details.
"The following methods are used to create budget ledger dimensions:
ï‚· saveLedgerDimensionBudget
Creates a ledger dimension of type budget by using the dimension attribute values from another
ledger dimension reference. Uses only dimension attributes that are enabled for budget to create
the budget ledger dimension.
ï‚· getLedgerDimensionBudget
Combines a default account reference for a main account and a default dimension reference into
one budget ledger dimension. Uses only dimension attributes that are enabled for a budget to
create the budget ledger dimension.
ï‚· mergeDefaultDimWithLedgerDim
Combines a ledger dimension with a default dimension into one budget ledger dimension. Uses
only dimension attributes that are enabled for the budget to create the budget ledger dimension."
download.microsoft.com/.../implementing_budgeting_for_microsoft_dynamics_ax_2012_applications_ax 2012.pdf