public void ChangeColumnLocation(){
		
			UIDocument uidoc = this.ActiveUIDocument;
			Document doc = uidoc.Document;
			
			DTPickFilter filterLines = new DTPickFilter();
			
			Reference selLine = uidoc.Selection.PickObject(ObjectType.Element,filterLines, "Select Line");
			
			Reference selColumn = uidoc.Selection.PickObject(ObjectType.Element, "Select Element");
			
			Element eleCrv = doc.GetElement(selLine.ElementId);
			
			Element eleColumn = doc.GetElement(selColumn.ElementId);
			
			//line location curve
			LocationCurve locCrv = eleCrv.Location as LocationCurve;
			
			Curve crv = locCrv.Curve;
			
			XYZ lineStart = crv.GetEndPoint(0);
			XYZ lineEnd = crv.GetEndPoint(1);

			
			//column Location curve
			LocationCurve colLocCrv = eleColumn.Location as LocationCurve;
			
			Curve colCrv = colLocCrv.Curve;
			
			double dist1 = colCrv.GetEndPoint(0).DistanceTo(lineStart);
			double dist2 = colCrv.GetEndPoint(0).DistanceTo(lineEnd);
			
			using (Transaction t = new Transaction(doc)){
				
				t.Start("Move column");
				if (lineStart.Z <lineEnd.Z){
					Line newColumnLine = Line.CreateBound(lineStart, lineEnd);
					colLocCrv.Curve = newColumnLine;
				}
				else {
					Line reverseLine = Line.CreateBound(lineEnd,lineStart);
					colLocCrv.Curve = reverseLine;
				}
								
				t.Commit();
			
			}//close using
			
		}