The word purge is a bit confusing. Do you want to replace STB styles that are references in the DWG but cannot be found in an STB file?Merge would be the best solution as I know the STB some of them refer to and would like to merge them to a similar Plot Style. To purge or remove them may cause issues if they were assigned to an object even inside a block. Not sure if any of them are referenced any objects in the drawing.
BTW if I run _Audit on the template 46 errors are reported (note: I use BricsCAD). You may want to fix that.Thanks, but already tried Audit and Recover, difference may be I'm using AutoCAD Civil 3D 2021 with a lot of intelligent objects?
1. Loop over all objects in all blocks and change their plotstylename property based on an assoc list.Blank Civil template with many block definitions. Could lisp "Loop over all objects in all blocks and change their plotstylename property based on an assoc list"? That's what I'm looking for. Something that would take a missing Plot Style and replace it with one from FDOT.stb and remove the missing one from the drawing completely. I'd like to run it on drawings already created as well.
2. Do the same for all layers.
3. Purge the faulty plot styles with the _Purge command or by deleting them from the ACAD_PLOTSTYLENAME dictionary.
AutoCAD Civil 3D 2021 with a lot of intelligent objects?Or with a not so clever _Audit command?
: AUDIT
Fix any errors detected? [Yes/No] <No>:y
Name: AcDbTableStyle(D969)
Value: TextStyle ((0))
Validation: Invalid
Replaced by: Set to Default
Name: AcDbTableStyle(D969)
Value: TextStyle ((0))
Validation: Invalid
Replaced by: Set to Default
Name: AcDbTableStyle(D969)
Value: TextStyle ((0))
Validation: Invalid
Replaced by: Set to Default
Name: AcDbProxyObject(3274)
Value: Owner Id (1DC1)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3273)
Name: AcDbProxyObject(3275)
Value: Owner Id (1DC2)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3273)
Name: AcDbProxyObject(3276)
Value: Owner Id (1DC3)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3273)
Name: AcDbProxyObject(3277)
Value: Owner Id (1DC4)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3273)
Name: AcDbProxyObject(3278)
Value: Owner Id (1DC5)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3273)
Name: AcDbProxyObject(326E)
Value: Owner Id (1DC1)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(326D)
Name: AcDbProxyObject(326F)
Value: Owner Id (1DC2)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(326D)
Name: AcDbProxyObject(3270)
Value: Owner Id (1DC3)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(326D)
Name: AcDbProxyObject(3271)
Value: Owner Id (1DC4)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(326D)
Name: AcDbProxyObject(3272)
Value: Owner Id (1DC5)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(326D)
Name: AcDbProxyObject(3246)
Value: Owner Id (1DD3)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3245)
Name: AcDbProxyObject(3247)
Value: Owner Id (1DD4)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3245)
Name: AcDbProxyObject(3248)
Value: Owner Id (1DD5)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3245)
Name: AcDbProxyObject(3242)
Value: Owner Id (1DD3)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3241)
Name: AcDbProxyObject(3243)
Value: Owner Id (1DD4)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3241)
Name: AcDbProxyObject(3244)
Value: Owner Id (1DD5)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3241)
Name: AcDbProxyObject(37F0)
Value: Owner Id (3536)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(37EF)
Name: AcDbProxyObject(37F1)
Value: Owner Id (3537)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(37EF)
Name: AcDbProxyObject(37F2)
Value: Owner Id (3538)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(37EF)
Name: AcDbProxyObject(37F3)
Value: Owner Id (3539)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(37EF)
Name: AcDbProxyObject(37F4)
Value: Owner Id (353A)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(37EF)
Name: AcDbProxyObject(37F5)
Value: Owner Id (353B)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(37EF)
Name: AcDbProxyObject(37F6)
Value: Owner Id (37E3)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(37EF)
Name: AcDbProxyObject(3255)
Value: Owner Id (244F)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3254)
Name: AcDbProxyObject(3256)
Value: Owner Id (2450)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3254)
Name: AcDbProxyObject(3257)
Value: Owner Id (2451)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3254)
Name: AcDbProxyObject(3258)
Value: Owner Id (2452)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3254)
Name: AcDbProxyObject(3259)
Value: Owner Id (2453)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3254)
Name: AcDbProxyObject(325A)
Value: Owner Id (2454)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3254)
Name: AcDbProxyObject(325B)
Value: Owner Id (2455)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3254)
Name: AcDbProxyObject(325C)
Value: Owner Id (2456)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3254)
Name: AcDbProxyObject(325D)
Value: Owner Id (2457)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3254)
Name: AcDbProxyObject(325E)
Value: Owner Id (2458)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3254)
Name: AcDbProxyObject(324A)
Value: Owner Id (244F)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3249)
Name: AcDbProxyObject(324B)
Value: Owner Id (2450)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3249)
Name: AcDbProxyObject(324C)
Value: Owner Id (2451)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3249)
Name: AcDbProxyObject(324D)
Value: Owner Id (2452)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3249)
Name: AcDbProxyObject(324E)
Value: Owner Id (2453)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3249)
Name: AcDbProxyObject(324F)
Value: Owner Id (2454)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3249)
Name: AcDbProxyObject(3250)
Value: Owner Id (2455)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3249)
Name: AcDbProxyObject(3251)
Value: Owner Id (2456)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3249)
Name: AcDbProxyObject(3252)
Value: Owner Id (2457)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3249)
Name: AcDbProxyObject(3253)
Value: Owner Id (2458)
Validation: Invalid
Replaced by: Set to AcDbProxyObject(3249)
14668 objects audited
Total errors found during audit 46, fixed 46
I suspect that the 'Vertical' you use creates hard references to plotstyle names, preventing them from being purged.That is indeed the case. The object listed below is the culprit.
(
(-1 . <Entity name: 54110da0>)
(0 . "ACAD_PROXY_OBJECT")
(5 . "859A")
(330 . <Entity name: 53b35360>)
(100 . "AcDbProxyObject")
(90 . 499)
(1 . "AeccDbSurfaceStyle")
(71 . 33)
(97 . 0)
(70 . 0)
(162 . 4700)
(311 . "48D0C01BC01B801D001BC01D401C801CC008000C000B800C4009C0080018401B80190008000C000B800D4009C008000A001080184018C01AC019C01C801BC01D401B8019000A401345300750072006600610063006500200063006F006E0074006F00750072007300200061007400200031002700200061006E006400200035002700200069006E00740065007200760061006C007300200028004200610063006B00670072006F0075006E00640029004048001084100750074006F006400650073006B00468C400EC00C000EC00C000EC00C400C000C000B800C000EC00C000B800C000EC00C800B800C000EC01040138014C012400CC00C4010120004048001012000425080194018401D4019801BC01C80190015001012000468C400EC00C000EC00C000EC00C400C000C000B800C000EC00C000B800C000EC00C800B800C000EC01040138014C012400CC00C401012B00468C400EC00C000EC00C000EC00C400C000C000B800C000EC00C000B800C000EC00C800B800C000EC0114014C010C012001140148010120004048001075200610069006E0062006F007700468C400EC00C000EC00C000EC00C400C000C000B800C000EC00C000B800C000EC00C800B800C000EC01040138014C012400CC00DC01012000464C400EC00C000EC00C000EC00C400C000C000B800C000EC00C000B800C000EC00C800B800C000EC01140104014801500120011A31003B0030003B0030003B003100300030002E0030003B0030002E0030003B0032002E0030003B0041004E005300490033003200AAAAAAAAAAAAAAAAAAAAAAAAA0")
(161 . 13793)
(330 . <Entity name: 4c7ca440>)
(330 . <Entity name: 4c7cac40>)
(330 . <Entity name: 4c7ca440>)
(330 . <Entity name: 4c7ca440>)
(330 . <Entity name: 4c7ca440>)
(330 . <Entity name: 4c7ca440>)
(330 . <Entity name: 4c7ca440>)
(330 . <Entity name: 4c7ca440>)
(330 . <Entity name: 4c7cac40>)
(330 . <Entity name: 4c7cac40>)
(330 . <Entity name: 4c7ca440>)
(330 . <Entity name: 4c7ca440>)
(330 . <Entity name: 4c7cac40>)
(330 . <Entity name: 4c7ca440>)
(330 . <Entity name: 4c7ca440>)
(340 . <Entity name: 4c7c7540>)
(340 . <Entity name: 4c7ca5c0>)
(340 . <Entity name: 4c7c7680>)
(340 . <Entity name: 4c7ca5c0>)
(340 . <Entity name: 4c7c7bc0>)
(340 . <Entity name: 4c7ca5c0>)
(340 . <Entity name: 4c7c7880>)
(340 . <Entity name: 4c7ca5c0>)
(340 . <Entity name: 54110ba0>)
(340 . <Entity name: 4c7c7c00>)
(340 . <Entity name: 4c7ca5c0>)
(340 . <Entity name: 5411ae60>)
(340 . <Entity name: 4c7c7840>)
(340 . <Entity name: 4c7ca5c0>)
(340 . <Entity name: 4c7c7540>)
(340 . <Entity name: 4c7ca5c0>)
(340 . <Entity name: 4c7cacc0>)
(340 . <Entity name: 4c7cae40>)
(340 . <Entity name: 4c7cacc0>)
(340 . <Entity name: 4c7cae40>)
(340 . <Entity name: 4c7cacc0>)
(340 . <Entity name: 4c7cae40>)
(340 . <Entity name: 4c7cacc0>)
(340 . <Entity name: 4c7cae40>)
(340 . <Entity name: 4c7c8240>)
(340 . <Entity name: 4c7ca5c0>)
(340 . <Entity name: 4c7c7540>)
(340 . <Entity name: 4c7ca5c0>)
(340 . <Entity name: 4c7c7680>)
(340 . <Entity name: 4c7ca5c0>)
(340 . <Entity name: 4c7c7bc0>)
(340 . <Entity name: 4c7ca5c0>)
(340 . <Entity name: 4c7c7880>)
(340 . <Entity name: 4c7ca5c0>)
(340 . <Entity name: 4c7c7c00>)
(340 . <Entity name: 4c7ca5c0>)
(340 . <Entity name: 4c7c7840>)
(340 . <Entity name: 4c7ca5c0>)
(340 . <Entity name: 4c7cacc0>)
(340 . <Entity name: 4c7ca5c0>)
(340 . <Entity name: 4c7cacc0>)
(340 . <Entity name: 4c7ca5c0>)
(340 . <Entity name: 4c7cacc0>)
(340 . <Entity name: 4c7ca5c0>)
(340 . <Entity name: 4c7cacc0>)
(340 . <Entity name: 4c7ca5c0>)
(340 . <Entity name: 4c7cacc0>)
(340 . <Entity name: 4c7ca5c0>)
(340 . <Entity name: 4c7c8240>)
(340 . <Entity name: 4c7ca5c0>)
(340 . <Entity name: 4c7cacc0>)
(340 . <Entity name: 4c7ca5c0>)
(94 . 0)
)
No name listed for that Surface Style but they're easily recreated if there's some way of deleting it. I've added and modified the ones I use so it's probably one of them. I could remake it quickly from a modified copy of another.I suspect that the 'Vertical' you use creates hard references to plotstyle names, preventing them from being purged.That is indeed the case. The object listed below is the culprit.