예제 #1
0
        public void Cmd_DEBUGBOXES()
        {
            if (!LicensingAgent.Check())
            {
                return;
            }

            var acCurDoc = Application.DocumentManager.MdiActiveDocument;
            var acCurDb  = acCurDoc.Database;

            _ = acCurDoc.Editor;

            var boxCount = 500;
            var maxSize  = 40;
            var minSize  = 5;

            var minX = -500;
            var minY = -500;
            var minZ = -500;

            var maxX   = 500;
            var maxY   = 500;
            var maxZ   = 500;
            var random = new Random();

            using (var acTrans = acCurDb.TransactionManager.StartTransaction())
            {
                for (var i = 0; i < boxCount; i++)
                {
                    var acSol = new Solid3d();

                    var length = random.Next(minSize, maxSize);
                    var width  = random.Next(minSize, maxSize);

                    var height = random.Next(minSize, maxSize);

                    acSol.CreateBox(length, width, height);

                    var insertPoint = new Point3d(random.Next(minX, maxX), random.Next(minY, maxY),
                                                  random.Next(minZ, maxZ));

                    acCurDb.AppendEntity(acSol);

                    acSol.Move(acSol.GetBoxCenter(), insertPoint);
                    acSol.CleanBody();
                }

                acTrans.Commit();
            }
        }