macroScript CADImproter 
category: "CG_Tools" 
toolTip: "CAD Importer" 
ButtonText: "CAD Importer"

(
Global improtFiles=#()
Global CadImportent
Local improterSetting = ((getDir #plugcfg) + "\\Improter.ini")

Global sel_dir = GetIniSetting improterSetting "Path" "Folder"
global sel_dir02 = GetIniSetting improterSetting "Save" "Path"

	
try (destroyDialog Importer ) catch()
	rollout CadImportent "Cad Import" width:226 height:273
	(
		listbox CadFiler "Files in Folder :" pos:[5,30] width:217 height:9
		
		button SaveMax "Save" pos:[5,237] width:34 height:32 enabled:false
		button brwbtn "..." pos:[200,5] width:24 height:21
		button bro2 "..." pos:[199,175] width:24 height:21 enabled:true
		button btnRst "Reset" pos:[41,237] width:43 height:32 enabled:false
		
		edittext edt1 "Folder :" pos:[3,6] width:195 height:18 readOnly:true
		edittext savePathes "Save to : " pos:[4,176] width:193 height:18 readOnly:true
		
		checkbox Reseter "Auto Reset" pos:[5,199] width:72 height:16 checked:true
		checkbox Saver "Auto Save" pos:[5,218] width:72 height:16 checked:true
		--checkbox nodeRemove "Remove Node" pos:[4,237] width:94 height:17 enabled:true checked:true

		dropdownList ddl_DispType "" pos:[145,213] width:72 height:21 items:#("Meters", "Centimeters", "Kilometers", "Milimeters")
		dropdownList ddl_SysType "" pos:[145,241] width:72 height:21 items:#("Meters", "Centimeters", "Kilometers", "Inches")
		label lbl1 "Metric" pos:[94,218] width:32 height:11
		
		
		label lbl2 "Sys units" pos:[91,244] width:44 height:14
		GroupBox grp1 "Units" pos:[87,198] width:135 height:71
		
		
		fn  DispUnitsType =
		(	
			if ddl_DispType.selection ==  1 then  
				(
					units.DisplayType =#Metric
					units.MetricType = #Meters
				)
			if ddl_DispType.selection ==  2 then  
				(
				units.DisplayType =#Metric
				units.MetricType = #Centimeters
				)
			
			if ddl_DispType.selection ==  3 then  
				(
				units.DisplayType =#Metric
				units.MetricType = #Kilometers 
				)
			if ddl_DispType.selection ==  4 then  
				(
				units.DisplayType =#Metric
				units.MetricType = #Millimeters
				)
	
		)
		
		fn SysTypeUnits = 
		(		
			if ddl_SysType.selection ==  1 then  units.SystemType = #Meters
			if ddl_SysType.selection ==  2 then  units.SystemType = #Centimeters
			if ddl_SysType.selection ==  3 then  units.SystemType = #Kilometers
			if ddl_SysType.selection ==  4 then  units.SystemType = #Inches
		)

		on CadImportent open do
		(
			if sel_dir != "" then 
			(
			edt1.text = sel_dir
			filesSingDigopeki = getfiles (edt1.text + "/*.dwg")
			CadFiler.items =  for i in filesSingDigopeki collect (filenamefrompath i)
			)
			if sel_dir02 != "" then savePathes.text = sel_dir02
		)
		
		on CadFiler doubleClicked Jenenge do
		(
			diImportName = CadImportent.CadFiler.selected
			Nggone = edt1.text
			nggonNgeSave = savePathes.text
			fileSingdiImport = Nggone + "\\" +diImportName
			--print diImportName
			
			if reseter.checked == true  then 
				(
				DispUnitsType ()
				SysTypeUnits ()
				importFile fileSingdiImport #noPrompt
				importedFileName = getfilenamefile fileSingdiImport
				singDiSave = nggonNgeSave +"\\"+ importedFileName+ ".max"
				saveMaxFile singDiSave
				resetmaxfile #noPrompt
				)
			else if (reseter.checked ==false and (saver.checked == true)) then
				(
				DispUnitsType ()
				SysTypeUnits ()	
				importFile fileSingdiImport #noPrompt
				importedFileName = getfilenamefile fileSingdiImport
				singDiSave = nggonNgeSave +"\\"+ importedFileName+ ".max"
				print "Imported and saved"
				)
			else if (reseter.checked ==false and (saver.checked == false)) then
				(
				DispUnitsType ()
				SysTypeUnits ()	
				importFile fileSingdiImport #noPrompt
				importedFileName = getfilenamefile fileSingdiImport
				print "Imported and saved"	
				print "You can save it using save button !"
				)
		)
		
		on SaveMax pressed do
		(
		
			actionMan.executeAction 0 "40007"
		)
		
		on brwbtn pressed do
		(
		local nilikiFolder = getSavePath "Nggoleki CAD files" initialDir:sel_dir
		if nilikiFolder != undefined then
			(
			edt1.text=nilikiFolder
			savePathes.text = nilikiFolder		
			setIniSetting improterSetting "Path" "Folder" (edt1.text) as string
			setIniSetting improterSetting "Save" "Path" (savePathes.text) as string
				
			filesSingDigopeki = getfiles (edt1.text + "/*.dwg")
			CadFiler.items =  for i in filesSingDigopeki collect (filenamefrompath i)
			)
		)
		
		on bro2 pressed do
		(
			if CadImportent.edt1.text != "" then
			(
				local nilikiFolder02 = getSavePath "Nggon ngesave file" initialDir:CadImportent.edt1.text
				if nilikiFolder02 != undefined then
				(
					savePathes.text = nilikiFolder02
					setIniSetting improterSetting "Save" "Path" (savePathes.text) as string
				)
			)
			else
			(
				messageBox "You need to select folder first !" title:"3dsMax"
			)
		)
		
		on btnRst pressed do
		(
			if Saver.checked == true then 
			(
				resetMaxFile #noPrompt
			)
			else (
		 resetMaxFile ())
		)
		
		on Reseter changed state do
		(
			if reseter.checked == true then
			(
			Saver.checked=true
			SaveMax.enabled = false
			btnRst.enabled = false		
			) else (btnRst.enabled = true)
		)
		
		on Saver changed state do
		(
			if saver.checked != true then
			(
				SaveMax.enabled = true
				bro2.enabled = false
				Reseter.checked = false
				btnRst.enabled = true
			)
			else 
			(
				SaveMax.enabled = false
				bro2.enabled = true
				btnRst.enabled = false
			)
		)
	)
createDialog CadImportent 226 272
)