Compare commits

...

11 Commits

Author SHA1 Message Date
Mucahit Bilal GOKER e1308bfa21 legacy connector cosmetic changes (#430)
* replace logo

* change copy
2025-05-22 20:24:00 +03:00
Oğuzhan Koral ed1d1f5b44 Add legacy dialog to v2 (#420) 2025-03-19 11:24:47 +03:00
Oğuzhan Koral aff871baaa Chore(v2): v2 is legacy (#419)
* v2 is legacy

* correct the log
2025-03-19 10:26:54 +03:00
Oğuzhan Koral 0608e7048d fallback to application support for accounts db (#410) 2025-03-11 19:37:57 +03:00
Jedd Morgan 0875e55c1d Limit usage of deprecated FE1 api to only essentials (#398)
* basic queries to update

* aliasing

* Remove unused streams.gql

---------

Co-authored-by: oguzhankoral <oguzhankoral@gmail.com>
2025-01-23 20:42:37 +03:00
Claire Kuang 3508bcc42e Merge pull request #395 from specklesystems/claire/cnx-699-update-github-links-to-point-to-v3
Update README.md to align with main github page
2024-11-01 18:03:35 +00:00
Claire Kuang e59bfb2e12 Update README.md to align with main github page
https://linear.app/speckle/issue/CNX-699/update-github-links-to-point-to-v3
2024-11-01 18:03:11 +00:00
Oğuzhan Koral 3bb4039c78 Update transform value to matrix on send (#394) 2024-10-28 14:19:02 +03:00
Iain Sproat bd49e19c9e chore(domains): update to *.speckle.systems domains (#343)
* chore(domains): update to *.speckle.systems domains

* Upgrade xcode to 13.4.1

---------

Co-authored-by: oguzhankoral <oguzhankoral@gmail.com>
2024-07-20 12:11:45 +03:00
Oğuzhan Koral 73bcd75b78 Sketchup 2024 support (#332)
* Add sqlite3 for ruby 3.2

* Run UI from netlify URL

* Add bundle for ruby 3.2 for mac
2024-05-09 17:52:21 +03:00
Oğuzhan Koral a0578fa35d Update .gitmodules (#331)
Make https accesible to submodule
2024-05-09 15:56:27 +03:00
19 changed files with 91 additions and 123 deletions
+1 -1
View File
@@ -85,7 +85,7 @@ jobs:
build-connector-mac: build-connector-mac:
macos: macos:
xcode: 12.5.1 xcode: 13.4.1
parameters: parameters:
projname: projname:
type: string type: string
+1 -1
View File
@@ -1,3 +1,3 @@
[submodule "_sqlite3"] [submodule "_sqlite3"]
path = _sqlite3 path = _sqlite3
url = git@github.com:specklesystems/sketchup-sqlite3.git url = https://github.com/specklesystems/sketchup-sqlite3.git
+14 -35
View File
@@ -2,44 +2,14 @@
<img src="https://user-images.githubusercontent.com/2679513/131189167-18ea5fe1-c578-47f6-9785-3748178e4312.png" width="150px"/><br/> <img src="https://user-images.githubusercontent.com/2679513/131189167-18ea5fe1-c578-47f6-9785-3748178e4312.png" width="150px"/><br/>
Speckle | SketchUp Speckle | SketchUp
</h1> </h1>
<p align="center"><a href="https://twitter.com/SpeckleSystems"><img src="https://img.shields.io/twitter/follow/SpeckleSystems?style=social" alt="Twitter Follow"></a> <a href="https://speckle.community"><img src="https://img.shields.io/discourse/users?server=https%3A%2F%2Fspeckle.community&amp;style=flat-square&amp;logo=discourse&amp;logoColor=white" alt="Community forum users"></a> <a href="https://speckle.systems"><img src="https://img.shields.io/badge/https://-speckle.systems-royalblue?style=flat-square" alt="website"></a> <a href="https://speckle.guide/dev/"><img src="https://img.shields.io/badge/docs-speckle.guide-orange?style=flat-square&amp;logo=read-the-docs&amp;logoColor=white" alt="docs"></a></p>
> Speckle is the first AEC data hub that connects with your favorite AEC tools. Speckle exists to overcome the challenges of working in a fragmented industry where communication, creative workflows, and the exchange of data are often hindered by siloed software and processes. It is here to make the industry better.
<h3 align="center"> <h3 align="center">
Connector for SketchUp Connector for SketchUp
</h3> </h3>
<p align="center"><b>Speckle</b> is the data infrastructure for the AEC industry.</p><br/>
<p align="center"><a href="https://twitter.com/SpeckleSystems"><img src="https://img.shields.io/twitter/follow/SpeckleSystems?style=social" alt="Twitter Follow"></a> <a href="https://speckle.community"><img src="https://img.shields.io/discourse/users?server=https%3A%2F%2Fspeckle.community&amp;style=flat-square&amp;logo=discourse&amp;logoColor=white" alt="Community forum users"></a> <a href="https://speckle.systems"><img src="https://img.shields.io/badge/https://-speckle.systems-royalblue?style=flat-square" alt="website"></a> <a href="https://speckle.guide/dev/"><img src="https://img.shields.io/badge/docs-speckle.guide-orange?style=flat-square&amp;logo=read-the-docs&amp;logoColor=white" alt="docs"></a></p>
<p align="center"><a href="https://github.com/specklesystems/speckle-blender/"><img src="https://circleci.com/gh/specklesystems/speckle-blender.svg?style=svg&amp;circle-token=76eabd350ea243575cbb258b746ed3f471f7ac29" alt="Speckle-Next"></a> </p>
# About Speckle
What is Speckle? Check our ![YouTube Video Views](https://img.shields.io/youtube/views/B9humiSpHzM?label=Speckle%20in%201%20minute%20video&style=social)
### Features
- **Object-based:** say goodbye to files! Speckle is the first object based platform for the AEC industry
- **Version control:** Speckle is the Git & Hub for geometry and BIM data
- **Collaboration:** share your designs collaborate with others
- **3D Viewer:** see your CAD and BIM models online, share and embed them anywhere
- **Interoperability:** get your CAD and BIM models into other software without exporting or importing
- **Real time:** get real time updates and notifications and changes
- **GraphQL API:** get what you need anywhere you want it
- **Webhooks:** the base for a automation and next-gen pipelines
- **Built for developers:** we are building Speckle with developers in mind and got tools for every stack
- **Built for the AEC industry:** Speckle connectors are plugins for the most common software used in the industry such as Revit, Rhino, Grasshopper, AutoCAD, Civil 3D, Excel, Unreal Engine, Unity, QGIS, Blender and more!
### Try Speckle now!
Give Speckle a try in no time by:
- [![speckle XYZ](https://img.shields.io/badge/https://-speckle.xyz-0069ff?style=flat-square&logo=hackthebox&logoColor=white)](https://speckle.xyz) ⇒ creating an account at our public server
- [![create a droplet](https://img.shields.io/badge/Create%20a%20Droplet-0069ff?style=flat-square&logo=digitalocean&logoColor=white)](https://marketplace.digitalocean.com/apps/speckle-server?refcode=947a2b5d7dc1) ⇒ deploying an instance in 1 click
### Resources
- [![Community forum users](https://img.shields.io/badge/community-forum-green?style=for-the-badge&logo=discourse&logoColor=white)](https://speckle.community) for help, feature requests or just to hang with other speckle enthusiasts, check out our community forum!
- [![website](https://img.shields.io/badge/tutorials-speckle.systems-royalblue?style=for-the-badge&logo=youtube)](https://speckle.systems) our tutorials portal is full of resources to get you started using Speckle
- [![docs](https://img.shields.io/badge/docs-speckle.guide-orange?style=for-the-badge&logo=read-the-docs&logoColor=white)](https://speckle.guide/user/blender.html) reference on almost any end-user and developer functionality
# Repo structure # Repo structure
@@ -67,6 +37,15 @@ This repo is split into three parts:
by solution to place them into source code into `speckle_connector/src/ext`. Building this project should be only by solution to place them into source code into `speckle_connector/src/ext`. Building this project should be only
happen when SketchUp starts to support newer Ruby versions (currently it is `2.7`). happen when SketchUp starts to support newer Ruby versions (currently it is `2.7`).
### Other repos
Make sure to also check and ⭐️ these other Speckle next generation repositories:
- [`speckle-sharp-connectors`](https://github.com/specklesystems/speckle-sharp-connectors): .NET connectors and desktop UI
- [`speckle-sharp-sdk`](https://github.com/specklesystems/speckle-sharp-sdk): our .NET SDK for next gen connectors and development
- [`speckle-powerbi`](https://github.com/specklesystems/speckle-powerbi): PowerBi connector
- and more [connectors & tooling](https://github.com/specklesystems/)!
## Contribution Guide ## Contribution Guide
Before start to contribute, it is better to understand how align with other contributors. It will make easier job Before start to contribute, it is better to understand how align with other contributors. It will make easier job
+1 -1
View File
@@ -24,7 +24,7 @@ module SpeckleConnector
# Run from localhost or from build files # Run from localhost or from build files
DEV_MODE = false DEV_MODE = false
puts("Loading Speckle Connector v#{CONNECTOR_VERSION} from #{DEV_MODE ? 'dev' : 'build'}") puts("Loading Speckle (Legacy) Connector v#{CONNECTOR_VERSION} from #{DEV_MODE ? 'dev' : 'build'}")
unless file_loaded?(__FILE__) unless file_loaded?(__FILE__)
ex = SketchupExtension.new('Speckle SketchUp', File.join(PATH, 'bootstrap')) ex = SketchupExtension.new('Speckle SketchUp', File.join(PATH, 'bootstrap'))
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 26 KiB

@@ -12,7 +12,7 @@ module SpeckleConnector
# This is the command where we show UI to user. # This is the command where we show UI to user.
class InitializeSpeckle < Command class InitializeSpeckle < Command
def dialog_title def dialog_title
"Speckle #{CONNECTOR_VERSION}" "Speckle (Legacy) #{CONNECTOR_VERSION}"
end end
private private
@@ -30,18 +30,14 @@ module SpeckleConnector
commands[CMD_RESET_WINDOW_LOCATION_SPECKLE] = reset_window_location_command(app) commands[CMD_RESET_WINDOW_LOCATION_SPECKLE] = reset_window_location_command(app)
commands.add_to_menu!(CMD_RESET_WINDOW_LOCATION_SPECKLE, speckle_menu) commands.add_to_menu!(CMD_RESET_WINDOW_LOCATION_SPECKLE, speckle_menu)
# commands[CMD_SEND_TO_SPECKLE] = send_command(app)
# commands.add_to_menu!(CMD_SEND_TO_SPECKLE, speckle_menu)
# commands.add_to_toolbar!(CMD_SEND_TO_SPECKLE, speckle_toolbar)
end end
def self.initialize_speckle_command(app) def self.initialize_speckle_command(app)
cmd = MenuCommandHandler.sketchup_command( cmd = MenuCommandHandler.sketchup_command(
InitializeSpeckle.new(app), 'Initialize Speckle' InitializeSpeckle.new(app), 'Initialize Speckle (Legacy)'
) )
cmd.tooltip = 'Launch Connector' cmd.tooltip = 'Launch Connector'
cmd.status_bar_text = 'Opens the Speckle Connector window' cmd.status_bar_text = 'Opens the Speckle (Legacy) Connector window'
cmd.small_icon = '../../img/s2logo.png' cmd.small_icon = '../../img/s2logo.png'
cmd.large_icon = '../../img/s2logo.png' cmd.large_icon = '../../img/s2logo.png'
cmd cmd
@@ -57,18 +53,6 @@ module SpeckleConnector
cmd.large_icon = '../../img/s2logo.png' cmd.large_icon = '../../img/s2logo.png'
cmd cmd
end end
def self.send_command(app)
cmd = MenuCommandHandler.sketchup_command(
ActionCommand.new(app, Actions::OneClickSend), 'Send to Speckle'
)
cmd.tooltip = 'Send to Speckle'
cmd.status_bar_text = 'Send to Speckle'
cmd.small_icon = '../../img/Sender.png'
cmd.large_icon = '../../img/Sender.png'
cmd.set_validation_proc { MenuCommandHandler.speckle_started(app) }
cmd
end
end end
end end
end end
@@ -14,7 +14,9 @@ module SpeckleConnector
path = ENV.fetch('APPDATA') path = ENV.fetch('APPDATA')
Pathname.new(File.join(path, 'Speckle')).cleanpath.to_s Pathname.new(File.join(path, 'Speckle')).cleanpath.to_s
when OS_MAC when OS_MAC
File.join(Dir.home, '.config/Speckle') primary_path = File.join(Dir.home, '.config/Speckle')
fallback_path = File.join(Dir.home, 'Library/Application Support/Speckle')
Dir.exist?(primary_path) ? primary_path : fallback_path
else else
raise 'Speckle could not determine your Appdata path' raise 'Speckle could not determine your Appdata path'
end end
Binary file not shown.
Binary file not shown.
@@ -19,7 +19,7 @@ module SpeckleConnector
id: nil id: nil
) )
self[:units] = units self[:units] = units
self[:value] = value self[:matrix] = value
end end
def self.from_transformation(transformation, units) def self.from_transformation(transformation, units)
+2 -1
View File
@@ -81,8 +81,9 @@ module SpeckleConnector
dialog.set_can_close do dialog.set_can_close do
true true
end end
File.exist?(@htm_file) ? dialog.set_file(@htm_file) : dialog.set_url('http://localhost:8081') # File.exist?(@htm_file) ? dialog.set_file(@htm_file) : dialog.set_url('http://localhost:8081')
# dialog.set_url('http://localhost:8081') # uncomment this line if you want to use your local version of ui # dialog.set_url('http://localhost:8081') # uncomment this line if you want to use your local version of ui
dialog.set_url('https://development--speckle-sketchup-dui2.netlify.app/')
add_exec_callback(dialog) add_exec_callback(dialog)
dialog dialog
end end
+1 -1
View File
@@ -5,7 +5,7 @@ module SpeckleConnector
# An interface to Sketchup user interface. This object controls the menu `Extensions->Speckle` in Sketchup's menu, # An interface to Sketchup user interface. This object controls the menu `Extensions->Speckle` in Sketchup's menu,
# the Speckle toolbar and sending message to the user via Sketchup. # the Speckle toolbar and sending message to the user via Sketchup.
class SketchupUi class SketchupUi
MENU_TITLE = 'Speckle' MENU_TITLE = 'Speckle (Legacy)'
BEFORE_NEVER_SHOWN = -1 BEFORE_NEVER_SHOWN = -1
# @return [Sketchup::Menu] the menu of the Speckle # @return [Sketchup::Menu] the menu of the Speckle
+1 -1
View File
@@ -1,3 +1,3 @@
VUE_APP_DEV_TOKEN= VUE_APP_DEV_TOKEN=
VUE_APP_SPECKLE_NAME=SpeckleSketchup VUE_APP_SPECKLE_NAME=SpeckleSketchup
VUE_APP_DEFAULT_SERVER=https://latest.speckle.dev VUE_APP_DEFAULT_SERVER=https://latest.speckle.systems
+4 -1
View File
@@ -1,6 +1,7 @@
<template> <template>
<v-app> <v-app>
<v-main> <v-main>
<legacy-dialog/>
<v-app-bar app flat height="50"> <v-app-bar app flat height="50">
<v-img <v-img
class="mx-auto px-0" class="mx-auto px-0"
@@ -135,6 +136,7 @@ import userQuery from './graphql/user.gql'
import serverInfoQuery from './graphql/serverInfo.gql' import serverInfoQuery from './graphql/serverInfo.gql'
import { onLogin } from './vue-apollo' import { onLogin } from './vue-apollo'
import Login from "@/views/Login"; import Login from "@/views/Login";
import LegacyDialog from './components/dialogs/LegacyDialog.vue';
global.collectPreferences = function (preferences) { global.collectPreferences = function (preferences) {
bus.$emit('update-preferences', preferences) bus.$emit('update-preferences', preferences)
@@ -178,7 +180,8 @@ export default {
CreateStreamDialog: () => import('@/components/dialogs/CreateStreamDialog'), CreateStreamDialog: () => import('@/components/dialogs/CreateStreamDialog'),
SettingsDialog: () => import('@/components/dialogs/SettingsDialog'), SettingsDialog: () => import('@/components/dialogs/SettingsDialog'),
GlobalToast: () => import('@/components/GlobalToast'), GlobalToast: () => import('@/components/GlobalToast'),
Mapper: () => import('@/components/Mapper') Mapper: () => import('@/components/Mapper'),
LegacyDialog: () => import('@/components/dialogs/LegacyDialog')
}, },
props: { props: {
size: { size: {
@@ -0,0 +1,56 @@
<template>
<v-dialog v-model="dialog" max-width="400">
<v-card>
<v-card-title class="headline">Legacy Version</v-card-title>
<v-card-text>
Warning: This is a legacy connector.
<br /><br />
<a
href="https://app.speckle.systems/connectors"
target="_blank"
style="color: #1976D2; text-decoration: none; font-weight: 500;"
>
Download next-gen SketchUp connector
</a>
</v-card-text>
<v-card-actions>
<v-spacer></v-spacer>
<v-btn color="grey" text @click="dialog = false">Dismiss</v-btn>
<v-btn color="primary" @click="downloadLatest">Download</v-btn>
</v-card-actions>
</v-card>
</v-dialog>
</template>
<script>
export default {
data() {
return {
dialog: true
}
},
methods: {
async downloadLatest() {
const response = await fetch(
`https://releases.speckle.dev/manager2/feeds/sketchup-v3.json`,
{
method: 'GET'
}
)
if (!response.ok) {
throw new Error('Failed to fetch versions')
}
const data = await response.json()
const sortedVersions = data.Versions.sort(function (a, b) {
return new Date(b.Date).getTime() - new Date(a.Date).getTime()
})
const latestAvailableVersion = sortedVersions[0]
latestAvailableVersion.value = sortedVersions[0]
window.open(latestAvailableVersion.value?.Url)
}
}
}
</script>
-55
View File
@@ -1,55 +0,0 @@
query Streams($cursor: String) {
streams(cursor: $cursor) {
totalCount
cursor
items {
id
name
description
role
isPublic
createdAt
updatedAt
collaborators {
id
name
company
avatar
role
}
commits(limit: 1) {
totalCount
items {
id
createdAt
message
authorId
branchName
authorName
authorAvatar
referencedObject
}
}
branches {
totalCount
items {
id
name
commits(limit: 10) {
totalCount
items {
id
createdAt
message
authorId
branchName
authorName
authorAvatar
referencedObject
}
}
}
}
}
}
}
+1 -1
View File
@@ -1,5 +1,5 @@
query { query {
user { user:activeUser {
id id
email email
name name
+1 -3
View File
@@ -1,13 +1,11 @@
query User($id: String!) { query User($id: String!) {
user(id: $id) { user:otherUser(id: $id) {
id id
email
name name
bio bio
company company
avatar avatar
verified verified
profiles
role role
} }
} }