Month: January 2026

  • Muswellbrook Tafe

    Muswellbrook Tafe

    The Stage 3 Works at Muswellbrook TAFE, located on Maitland Street, NSW, represent a significant milestone in the campus’s ongoing development and modernization.

    The new development comprises a storage warehouse, a curved amenities area, and multiple classrooms housed within a large integrated structure. The project involved a complex structural steel framework designed to support diverse functional spaces under one roof.

    A key challenge during this stage was coordination with the mechanical services contractor, as several ducts and ventilation systems initially clashed with the structural steel members. Through collaborative design reviews, practical solutions were agreed upon—relocating steel members at certain locations and adjusting duct routes at others—to achieve optimal constructability without compromising structural integrity or service performance.

  • How to Scope your project, and why?

    Why scope?

    • To define an outcome, and to define a problem.
    • To give clients certain on what they’re getting: price, quality and timeline.
    • To sell yourself as capable to do the job.
    • To fix resources. Everything costs time, money and skill. You will need to allocate resources to get the outcome.

    Scope must be white listed in.

    • If you don’t white list something IN, then new items will CREEP in. This is called “scope creep”. If this happens, and you are being constrained by resources, this means you haven’t accounted for it in the above step(s). Perhaps the entire job needs to be de-scoped.
    • Without a scope, you are handing over a blank cheque. DON”T DO THIS. Clients want people to make a good margin.
    • White-listing also forces everyone to be clear on what they want.

    Clear Unambiguous Objective:

    • If you can’t quantify it, then you have a problem.
    • Scoping will help the client to be satisfied, which is the ultimate objective.

    Summary:

    • Scoping allows you to make resourcing decisions to meet an outcome.
    • Gives you happy clients.
  • How to do some simple projections via AutoCAD’s .net API

    How to do some simple projections via AutoCAD’s .net API

    Projections via AutoCAD’s .net API can be confusing. You need to specify a direction, and a plane, upon which you can project a point to. It can be confusing unless it’s clearly spelled out with an example: see below.:

    // insert the usual references
    
    
    Document doc = Application.DocumentManager.MdiActiveDocument;
    Database db = doc.Database;
    
    using (Transaction tr = db.TransactionManager.StartTransaction())
    {
        BlockTable blockTable = tr.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;
        BlockTableRecord modelSpace = tr.GetObject(blockTable[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;
    
        // the original originalLine
        using (Line originalLine = new Line(Point3d.Origin, new Point3d(5, 5, 0)))
        {
            modelSpace.AppendEntity(originalLine);
            tr.AddNewlyCreatedDBObject(originalLine, true);
    
            // but we want to project it ONTO a plane.
            Plane plane = new Plane(Point3d.Origin,  new Vector3d(0,1,0));
    
            // project the originalLine onto a plane.
            Matrix3d projection = Matrix3d.Projection(plane, - Vector3d.YAxis);                            
    
            Line projectedLine = new Line(originalLine.StartPoint.TransformBy(projection), originalLine.EndPoint.Project(plane, -1 * Vector3d.YAxis));
            plane.Dispose();
    
    
            modelSpace.AppendEntity(projectedLine);
            tr.AddNewlyCreatedDBObject(projectedLine, true);                            
        }
    
        tr.Commit();
    }