Code:
(defun C:MM4Dimension( / )
(progn
(setq Dim_Name "MM4 Duct"
Arrow_Size 3.75
Center_Mark_Size 0.0625
Decimal_Places 2
Dimension_Line_Spacing 8.5
Extension_Above_Dimension_Line 2
Extension_Line_Origin_Offset 2
Gap_From_dimension_Line_to_Text 1.25
Tolerance_Decimal_places 2
Text_Movement 0
Text_Name "MM4"
Text_Font "romans.shx"
Text_Height 3.75))
; CHECK FOR THE DIMSTYLE AND IF NOT THERE CREATE IT
(if (tblsearch "dimstyle" Dim_Name)()
(progn
(setq mm4_duct_dimension_code
(entmakex
(list
(cons 0 "DIMSTYLE"); Table
(cons 100 "AcDbSymbolTableRecord"); Subclass marker
(cons 100 "AcDbDimStyleTableRecord"); Subclass marker
(cons 2 Dim_Name); Dimstyle name
(cons 70 0); Standard flag
(cons 3 ""); DIMPOST
(cons 4 ""); DIMAPOST
;(cons 5 "Oblique"); DIMBLK
;(cons 6 "ClosedFilled"); DIMBLK1
;(cons 7 "ClosedFilled"); DIMBLK2
(cons 40 1.0000); DIMSCALE
(cons 41 Arrow_Size); DIMASZ
(cons 42 Extension_Line_Origin_Offset); DIMEXO
(cons 43 Dimension_Line_Spacing); DIMDLI
(cons 44 Extension_Above_Dimension_Line); DIMEXE
(cons 45 0.0); DIMRND
(cons 46 0.0); DIMDLE
(cons 47 0.0); DIMTP
(cons 48 0.0); DIMTM
(cons 140 Text_Height); DIMTXT
(cons 141 Center_Mark_Size); DIMCEN
(cons 142 0.0); DIMTSZ
(cons 143 25.4); DIMALTF
(cons 144 1.0); DIMLFAC
(cons 145 0.0); DIMTVP
(cons 146 0.64); DIMTFAC
(cons 147 Gap_From_dimension_Line_to_Text); DIMGAP
(cons 71 0); DIMTOL
(cons 72 0); DIMLIM
(cons 73 0); DIMTIH
(cons 74 0); DIMTOH
(cons 75 0); DIMSE1
(cons 76 0); DIMSE2
(cons 77 0); DIMTAD
(cons 78 7); DIMZIN
(cons 79 1); DIMAZIN
(cons 170 0); DIMALT
(cons 171 0); DIMALTD
(cons 172 1); DIMTOFL
(cons 173 1); DIMSAH
(cons 174 0); DIMTIX
(cons 175 0); DIMSOXD
(cons 176 256); DIMCLRD
(cons 177 256); DIMCLRE
(cons 178 256); DIMCRRT
(cons 179 0); DIMADEC
;(cons 270 4); DIMUNIT
(cons 271 Decimal_Places); DIMDEC
(cons 272 Tolerance_Decimal_places); DIMTDEC
(cons 273 4); DIMALTU
(cons 274 0); DIMALTTD
(cons 275 0); DIMAUNIT
(cons 276 1); DIMFRAC
(cons 277 4); DIMLUNIT
(cons 278 0); DIMDSEP
(cons 279 Text_Movement); DIMTMOVE
(cons 280 0); DIMJUST
(cons 281 0); DIMSD1
(cons 282 0); DIMSD2
(cons 283 1); DIMTOLJ
(cons 284 3); DIMTZIN
(cons 285 1); DIMALTZ
(cons 286 0); DIMALTTZ
;(cons 287 0); DIMFIT
(cons 288 0); DIMUPT
(cons 289 0); DIMATFIT
(cons 340 (tblobjname "style" Text_Name)); DIMTXSTY
;(cons 341 (cdr (assoc 330 (entget (tblobjname "block" "."))))); DIMLDRBLK
(cons 342 (cdr (assoc 330 (entget(tblobjname "block" "_Oblique"))))); DIMBLK
(cons 343 (cdr (assoc 330 (entget(tblobjname "block" "_Oblique"))))); DIMBLK1
(cons 344 (cdr (assoc 330 (entget(tblobjname "block" "_Oblique"))))); DIMBLK2
(cons 371 -2); DIMLWD
(cons 372 -2); DIMLWE
); end of list
); end of entmake
); end of setq
); end of progn
); end of if
(command "-dimstyle" "_save" Dim_Name "Yes")
; SET DIMSTYLE CURRENT
(command "-dimstyle" "restore" Dim_Name)
(entmod (entget mm4_duct_dimension_code))
; SET TEXTSTYLE CURRENT
(command "textstyle" Text_Name)
(princ)
); END OF MM4-Duct_DIMSTYLE