@Kent1Cooper wrote:
.... It may be that you're stuck with drawing a new one over the one you want changed.
Experimenting with that as an automated approach, I arrived at this:
(defun C:MLMP ; = MultiLine Match Properties
(/ ML1 ML1data ML2 ML2data)
(setq
ML1 (car (entsel "\nSource MLine: "))
ML1data (entget ML1)
ML2 (car (entsel "\nTarget MLine to match Source: "))
ML2data (entget ML2)
); setq
(setvar 'ltscale (cdr (assoc 48 ML1data)))
(command
"_.layer" "_set" (cdr (assoc 8 ML1data)) "" ; set properties to match ML1
"_.mline"
"_justification" (nth (cdr (assoc 70 ML1data)) '("Top" "Zero" "Bottom"))
"_scale" (cdr (assoc 40 ML1data))
"_style" (cdr (assoc 2 ML1data))
); leave in MLINE command:
(foreach pt ; points in ML2
(mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 11)) ML2data))
(command pt)
); foreach
(command ""); conclude MLINE
(entdel ML2)
(prin1)
)
It works in your sample drawing, and also with MLines of more than one segment, but there are oddities:
Its results sometimes [not always, for some reason] end up with larger text size. Properties shows both the linetype scale and the Mline scale as the same, but the text size is bigger. I don't have any idea what could cause that, nor therefore how to prevent it.
And I tried a couple of ways of getting it to work if the target Mline is closed, both feeding in the "_close" option and imposing the entity-data entry that contains the code for that, without success.
I think Mlines are peculiar in more ways than simply not being able to change their Style after the fact....
Kent Cooper, AIA