Skip to content

Instantly share code, notes, and snippets.

View yiskang's full-sized avatar

Eason Kang yiskang

View GitHub Profile
@yiskang
yiskang / Command.cs
Last active November 10, 2025 03:14
Revit addin for doing similar like Revit UI function "Import Family Types"
/////////////////////////////////////////////////////////////////////
// Copyright (c) Autodesk, Inc. All rights reserved
// Written by Developer Advocacy and Support
//
// Permission to use, copy, modify, and distribute this software in
// object code form for any purpose and without fee is hereby granted,
// provided that the above copyright notice appears in all copies and
// that both that copyright notice and the limited warranty and
// restricted rights notice below appear in all supporting
// documentation.
<html>
<head>
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=no" />
<meta charset="utf-8">
<link rel="stylesheet" href="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/style.min.css"
type="text/css">
<script src="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/viewer3D.min.js"></script>
@yiskang
yiskang / HumanEyeBestViewExtension.js
Last active November 5, 2025 09:59
Human Eye Best View Extension for Autodesk Platform Services (APS) Viewer. Automatically finds the optimal viewing angle for selected 3D objects by analyzing visibility, occlusion, and geometric characteristics to provide human-like view selection.
(function () {
/////////////////////////////////////////////////////////////////////
// Copyright (c) Autodesk, Inc. All rights reserved
// Written by Developer Advocacy and Support
//
// Permission to use, copy, modify, and distribute this software in
// object code form for any purpose and without fee is hereby granted,
// provided that the above copyright notice appears in all copies and
// that both that copyright notice and the limited warranty and
// restricted rights notice below appear in all supporting
@yiskang
yiskang / ApsSsaVbConsole.vbproj
Created August 29, 2025 07:12
Demo how to exchange ASP 3LO access token using APS SSA
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<RootNamespace>ApsSsaVbConsole</RootNamespace>
<TargetFramework>net8.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
@yiskang
yiskang / Simple-viewer-Transparnt.html
Created September 10, 2024 04:13
Make APS Viewer background transparent and add custom background image by CSS
<html>
<head>
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=no" />
<meta charset="utf-8">
<link rel="stylesheet" href="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/style.min.css"
type="text/css">
<script src="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/viewer3D.min.js"></script>
@yiskang
yiskang / index.js
Created July 12, 2024 05:37
Read Excel (XLXS) file from ACC Docs
const { SdkManagerBuilder } = require('@aps_sdk/autodesk-sdkmanager');
const { OssClient } = require('@aps_sdk/oss');
const XLSX = require('xlsx');
const axios = require('axios');
const sdk = SdkManagerBuilder.create().build();
const ossClient = new OssClient(sdk);
(async () => {
@yiskang
yiskang / SimpleAggreatedView-diff.html
Created July 11, 2024 05:12
AggregatedView with Diff Extension
<!DOCTYPE html>
<html>
<head>
<title>Multiple 3D Viewer - Autodesk Forge AggregatedView</title>
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=no" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta charset="utf-8">
<!-- The Viewer CSS -->
@yiskang
yiskang / SensorHeatmapsExtension.js
Created March 5, 2024 01:42
APS DataViz Extensions Demo - Another way of creating heatmaps by using Revit Rooms, replacing public/extensions/SensorHeatmapsExtension.js
/// import * as Autodesk from "@types/forge-viewer";
import { UIBaseExtension } from './BaseExtension.js';
import { findNearestTimestampIndex } from './HistoricalDataView.js';
import { SensorHeatmapsPanel } from './SensorHeatmapsPanel.js';
export const SensorHeatmapsExtensionID = 'IoT.SensorHeatmaps';
export class SensorHeatmapsExtension extends UIBaseExtension {
constructor(viewer, options) {
super(viewer, options);
this.panel = undefined;
this._surfaceShadingData = undefined;
@yiskang
yiskang / RevitRooms.html
Last active April 1, 2024 08:37
Sample: Show Revit rooms from master view with a general Revit 3D view by model aggregation (Loading Multiple Models).
<html>
<head>
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=no" />
<meta charset="utf-8">
<link rel="stylesheet" href="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.88.*/style.min.css"
type="text/css">
<script src="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.88.*/viewer3D.min.js"></script>
@yiskang
yiskang / RevitProjectBasePointExtension.js
Created March 21, 2023 08:33
A APS Viewer extension for getting Revit Project Base Point position by AEC Model Data
/////////////////////////////////////////////////////////////////////
// Copyright (c) Autodesk, Inc. All rights reserved
// Written by Forge Partner Development
//
// Permission to use, copy, modify, and distribute this software in
// object code form for any purpose and without fee is hereby granted,
// provided that the above copyright notice appears in all copies and
// that both that copyright notice and the limited warranty and
// restricted rights notice below appear in all supporting
// documentation.